Hi, ich habe mal wieder ein Problem zum Lieblingsthema wenns um SQL geht .... eine Join-Abfrage:
Und zwar habe ich eine Tabelle mit Kundendaten, und eine mit allen Umsätzen. Nun will ich eine Abfrage haben, die alle Kunden und deren Gesamtumsätze für das Jahr 2003 ausspuckt. Das ist ja eigentlich kein Problem, indem man einfach mit dem Namen verknüpft, den Namen gruppiert und die Summe der Beträge nimmt:
Das klappt eigentlich auch soweit, bis auf eine kleine Sache:
es gibt auch Kunden, die zwar in der Tabelle 'Kunden' drinstehen, aber im Jahr 2003 keine Umsätze verursacht haben. Und durch die WHERE-Anweisung werden diese nicht angezeigt (wenn ich die WHERE-Bedingung weglasse funktioniert es richtig .. aber der Zeitraum is halt wichtig) .... jedoch sollen diese auch in der Liste vorkommen, nur eben die Summe wär dann eben 0.
Gibts da irgendeine Möglichkeit das zu lösen?!?
Und zwar habe ich eine Tabelle mit Kundendaten, und eine mit allen Umsätzen. Nun will ich eine Abfrage haben, die alle Kunden und deren Gesamtumsätze für das Jahr 2003 ausspuckt. Das ist ja eigentlich kein Problem, indem man einfach mit dem Namen verknüpft, den Namen gruppiert und die Summe der Beträge nimmt:
Code:
SELECT Kunden.Name, Sum(Umsätze.Betrag) AS [Summe von Betrag] FROM Debitor INNER JOIN Umsätze ON Kunden.Name = Umsätze.Name WHERE (((Umsätze.Buchungsdatum)>=#1/1/2003# And (Umsätze.Buchungsdatum)<=#12/31/2003#)) GROUP BY Kunden.Name;
es gibt auch Kunden, die zwar in der Tabelle 'Kunden' drinstehen, aber im Jahr 2003 keine Umsätze verursacht haben. Und durch die WHERE-Anweisung werden diese nicht angezeigt (wenn ich die WHERE-Bedingung weglasse funktioniert es richtig .. aber der Zeitraum is halt wichtig) .... jedoch sollen diese auch in der Liste vorkommen, nur eben die Summe wär dann eben 0.
Gibts da irgendeine Möglichkeit das zu lösen?!?
Kommentar