Pivot-Tabelle simulieren - Alternative
Verfasst: Di 30. Jan 2024, 16:41
Hallo,
bisher nutze ich für eine spaltenweise Darstellung von Buchungen nach Buchungskonten eine solche Abfrage:
Das ist nur ein Ausschnitt, es folgen noch mehrere Spalten und dafür mehrere Left Joins, was die Sache langsam macht.
Ich bin auf der Suche nach einer Alternative hierauf gestoßen:
https://stackoverflow.com/questions/142 ... sing-joins
Schaffe aber nicht, das auf HSQL in Base zu übertragen. Sowas stelle ich mir vor, es läuft aber nicht:
Wobei ich keine Dokumentation darüber finde, ob es in HSQL dieses "MAX" überhaupt gibt bzw. was es bewirkt.
Kann jemand helfen?
Gruß
Freischreiber
bisher nutze ich für eine spaltenweise Darstellung von Buchungen nach Buchungskonten eine solche Abfrage:
Code: Alles auswählen
SELECT "t-auftrag"."ID", "t-buchungen"."Datum", "t-buchungen"."Bemerkung", "a"."Betrag +/-" "Ein0% USt. Ausland", "b"."Betrag +/-" "Ein0% USt. Eigene"
FROM "t-buchungen"
LEFT JOIN "t-buchungen" AS "a" ON ( "t-buchungen"."ID" = "a"."ID" AND "a"."BuchungskontoID" = 0 )
LEFT JOIN "t-buchungen" AS "b" ON ( "t-buchungen"."ID" = "b"."ID" AND "b"."BuchungskontoID" = 1 )
LEFT JOIN "t-auftrag" ON ( "t-auftrag"."ID" = "t-buchungen"."AuftragID" ) ORDER BY "t-buchungen"."Datum"
Ich bin auf der Suche nach einer Alternative hierauf gestoßen:
https://stackoverflow.com/questions/142 ... sing-joins
Schaffe aber nicht, das auf HSQL in Base zu übertragen. Sowas stelle ich mir vor, es läuft aber nicht:
Code: Alles auswählen
SELECT "t-auftrag"."ID", "t-buchungen"."Datum", "t-buchungen"."Bemerkung"
MAX(CASE WHEN t-buchungen.BuchungskontoID=0 then t.buchungen.Datum END) AS "Ein0% USt. Ausland",
MAX(CASE WHEN t-buchungen.BuchungskontoID=1 then t.buchungen.Datum END) AS "Ein0% USt. Eigene"
FROM "t-buchungen" AS "Buchung"
LEFT JOIN "t-auftrag"
ON ( "t-auftrag"."ID" = "t-buchungen"."AuftragID" )
group by "t-auftrag"."ID", "t-buchungen"."Datum"
Kann jemand helfen?
Gruß
Freischreiber