ROLLUP mit nicht-gruppierten Spalten
Hallo zusammen,
Ich habe folgende Query:
SELECT account_id, account_title, amount FROM bookings;
account_id und account_title sind eine 1:1 Beziehung, ich muss aber beide anzeigen.
Nun möchte ich ein Rollup machen, um alle Buchungen pro Konto zu aggregieren und dann die Subtotale pro Konto anzuzeigen:
SELECT account_id, account_title, SUM(amount) FROM bookings GROUP BY account_id;
Wie zu sehen ist, habe ich account_title nicht in die GROUP BY Klausel eingefügt, weil ich nur die Subtotale pro account_id brauche (ansonsten würde es mir 2 Subtotale für genau dasselbe ausgeben).
Und jetzt ist aber das Problem, dass in der Totalzeile (also wo account_id = null ist), beim account_title einfach der Title von der vorhergehenden Zeile angezeigt wird (anstatt nichts).
Deshalb habe ich es damit probiert: IF(ISNULL(account_id), '', account_title) AS account_title Normalerweise ginge das auch, aber offenbar mit Rollup nicht, da mischt es mir die titel durcheinander, so dass zwischen account_id und account_title keine 1:1 Beziehung mehr besteht; irgendwie verschiebt es die Titel zum Teil um mehrere Zeilen.
Hat jemand eine Idee, wie man das lösen könnte?
Vielen Dank und Grüsse
Janosh
|