Pivot mit group by date

Commu

Benutzer
Beiträge
12
Hallo Zusammen,

ich versuche eine Pivot-Tabelle zu erstellen.
in den Zeile möchte ich Tageweise nach Vorfall aggregieren.

ich bekomme aber nur Fehlermeldungen: ungültiger Bezeichner


SELECT id, datum, name
FROM (
SELECT a.ID ,
TO_CHAR(a.created, 'YYYY-MM-DD') AS datum,
a.vorfall_id AS v_id ,
b.name
FROM auftrag a
LEFT JOIN vorfall b
ON a.geschaeftsvorfall_id = b.id )
GROUP BY TO_CHAR(create, 'YYYY-MM-DD')
PIVOT (
COUNT(id)
FOR (name)
IN (
'Adressermittlung' AS Adressermittlung,
'Löschung' AS Loeschung,
'Nichtmitglied' AS Nichtmitglied
)
);
 
Zuletzt bearbeitet:
Werbung:
Code:
SELECT 
  a.ID,
  TO_CHAR (a.created, 'YYYY-MM-DD') AS datum,
  a.vorfall_id AS v_id,
  b.name
FROM auftrag a LEFT JOIN vorfall b ON a.geschaeftsvorfall_id = b.id)
GROUP BY TO_CHAR (create, 'YYYY-MM-DD')
Dein Inner SQL ist schon mal falsch. Zum einen haben wir hier eine ID, die evtl. eindeutig ist und somit eine Gruppierung ad absurdum führt falls dem so ist. Zum anderen fehlt mindestens eine Aggregatsfunktion.
Alle anderen Spalten müssen dann ebenfalls noch in's group by.
Ohne Aggegatsfunktion wirkt ein Group By wie ein DISTINCT (und wenn man das haben möchte sollte man auch dieses Schlüsselwort verwenden).
 
Zurück
Oben