• 20.04.2024, 11:33
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

hilfe! falsche MySQL-Abfrage - was ist falsch?

Donnerstag, 1. Juni 2006, 16:14

Liebe Leute,
habe ein Problem mit meiner MySQL-Abfrage

Die Aufgabenstellung ist, Wieviel Umsatz mit welchem Kunden in welchem Monat gemacht wurde.

Habe dazu folgende Abfrage gemacht:

SELECT Verkauf.Kunde_Nr, Kunden.Vorname, Kunden.Nachname, DATE_FORMAT(Verkauf.Datum,'%m') as Monat, DATE_FORMAT(Verkauf.Datum,'%Y') as Jahr,SUM( Verkauf.Wert ) AS Umsatz
FROM Verkauf
INNER JOIN Kunden ON Verkauf.Kunde_Nr = Kunden.Kunde_Nr
GROUP BY 'Monat'

Als Ergebnis kommt heraus:



Eigentlich sollte als Ergebnis Herauskommen:

Kunde_Nr Vorname Nachname Monat (einzelnd die Monate, in denen der Kunde umsatz gemacht hat) Jahr Umsatz vom jeweiligen Monat des jeweiligen Kunden

Tabelle 'Verkauf'




Tabelle 'Kunden'



bitte helft mir, was genau an der Abfrage falsch ist
2 Stück Aquadrive X4 zu verkaufen - einfach per PN melden

Re: hilfe! falsche MySQL-Abfrage - was ist falsch?

Donnerstag, 1. Juni 2006, 19:42

Was genau ist an deinem bisherigen Ergebnis denn anders als die Aufgabenstellung verlangt?

Re: hilfe! falsche MySQL-Abfrage - was ist falsch?

Freitag, 2. Juni 2006, 14:16

zb. gibt er den kunden mit kundennummer 01, also den thomas müller, garnicht erst aus, obwohl ich da einen umsatz von 23996 im Januar 2005 + 2760 im januar 2006 habe. Oder Die Sandra Baumann (kundennummer 3) macht nicht nur Umsatz im Monat 02, sondern auch im Monat 01
2 Stück Aquadrive X4 zu verkaufen - einfach per PN melden

Re: hilfe! falsche MySQL-Abfrage - was ist falsch?

Freitag, 2. Juni 2006, 15:25

Dein Group by ist falsch.

Du gruppierst hierbei nur auf den Monat, aber da werden anscheinend _alle_ Personen jahre,. etc zusammengezählt.
Und nur einer gewinnt...
c++: The power, elegance and simplicity of a hand grenade.

Re: hilfe! falsche MySQL-Abfrage - was ist falsch?

Freitag, 2. Juni 2006, 17:03

Zitat von »Clark«

Dein Group by ist falsch.

Du gruppierst hierbei nur auf den Monat, aber da werden anscheinend _alle_ Personen jahre,. etc zusammengezählt.
Und nur einer gewinnt...


habe es jetzt mit "GROUP BY Verkauf.Kunde_Nr" versucht
das haut auch nicht hin.
das problem verstehe ich soweit und es ist auch logisch, aber es wäre ja nur sinnvoll, nach der Kundennummer zu gruppieren

weitere vorschläge?
wäre für jede Hilfe dankbar ;)
2 Stück Aquadrive X4 zu verkaufen - einfach per PN melden

Re: hilfe! falsche MySQL-Abfrage - was ist falsch?

Freitag, 2. Juni 2006, 17:05

Du musst zweimal groupen, einmal auf die Kundennummer, dann auf den Monat.

Also zwei Abfragen in einer ;)

Re: hilfe! falsche MySQL-Abfrage - was ist falsch?

Freitag, 2. Juni 2006, 17:34

Hallo Leute,
lieben Dank für eure Antworten

die Lösung war:

SELECT Verkauf.Kunde_Nr, Kunden.Vorname, Kunden.Nachname, DATE_FORMAT(Verkauf.Datum,'%m') as Monat, DATE_FORMAT(Verkauf.Datum,'%Y') as Jahr,SUM( Verkauf.Wert ) AS Umsatz
FROM Verkauf
INNER JOIN Kunden ON Verkauf.Kunde_Nr = Kunden.Kunde_Nr
GROUP BY 'Jahr', 'Monat', Verkauf.Kunde_Nr
2 Stück Aquadrive X4 zu verkaufen - einfach per PN melden