SQL-SELECT-Frage
Hallo,
ich versuche mich ab und an mit SQL. Und nun stehe ich vor einem kl. Problem, welches ich mit Google nicht lösen kann.
Beispiel:
Das zeigt mir den Betrag aller Rechnungen vom letzten Jahr auf. Mit -2, den von vor 2 Jahren.
Jetzt möchte ich gerne, dass beide Beträge, -1 und -2, nebeneinander stehen.
Das was ich im WWW über "sql 2 selects verbinden" gefunden habe, verstehe ich irgendwie nicht.
Hätte da jemand 1,2 Tipps?
VG
Michael
ich versuche mich ab und an mit SQL. Und nun stehe ich vor einem kl. Problem, welches ich mit Google nicht lösen kann.
Beispiel:
SELECT SUM(betrag) AS "Betrag"
FROM rechnungen
WHERE year(betrag) = year(curdate())-1
Das zeigt mir den Betrag aller Rechnungen vom letzten Jahr auf. Mit -2, den von vor 2 Jahren.
Jetzt möchte ich gerne, dass beide Beträge, -1 und -2, nebeneinander stehen.
Das was ich im WWW über "sql 2 selects verbinden" gefunden habe, verstehe ich irgendwie nicht.
Hätte da jemand 1,2 Tipps?
VG
Michael
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 467982
Url: https://administrator.de/contentid/467982
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
welche Daten sind im Feld betrag gespeichert? Eine Zahl oder ein Datum?
Wenn das Datum und der Betrag in getrennten Feldern gespeichert sind, dann ist es so kürzer und leichter erweiterbar.
Ist zwar von T-SQL adaptiert, aber sollte auch in anderen SQL-Dialekten laufen.
Greetz
thejoker2305
welche Daten sind im Feld betrag gespeichert? Eine Zahl oder ein Datum?
Wenn das Datum und der Betrag in getrennten Feldern gespeichert sind, dann ist es so kürzer und leichter erweiterbar.
Ist zwar von T-SQL adaptiert, aber sollte auch in anderen SQL-Dialekten laufen.
SELECT
sum(case when year(datum) = year(curdat())-2 then betrag else 0 end) as vorvorjahr,
sum(case when year(datum) = year(curdat())-1 then betrag else 0 end) as vorjahr,
sum(case when year(datum) = year(curdat()) then betrag else 0 end) as aktjahr
FROM rechnungen
Greetz
thejoker2305