Seite 1 von 1
Re: Abfrage: Feldwert aufgesplittet in mehrere Spalten
Verfasst: Fr, 12.12.2014 12:23
von RobertG
Hallo Tom,
so etwas geht mit korrelierenden Unterabfragen.
Code: Alles auswählen
SELECT "a"."Kunde", (SELECT SUM("Kunde") FROM "Tabelle" WHERE "Auftragsstatus" = 'a' AND "Kunde" = "a"."Kunde") AS "Wert_a" FROM "Tabelle" AS "a"
Das geht mit den anderen Feldern genauso wie eben mit [Auftragsstatus = a].
Gruß
Robert
Re: Abfrage: Feldwert aufgesplittet in mehrere Spalten
Verfasst: Fr, 12.12.2014 16:08
von RobertG
Hallo Thomas,
der Code von mir war falsch - eben schnell hingeschrieben.
Code: Alles auswählen
SELECT "a"."Kunde", (SELECT COUNT("Kunde") FROM "Tabelle" WHERE "Auftragsstatus" = 'a' AND "Kunde" = "a"."Kunde") AS "Wert_a", (SELECT COUNT("Kunde") FROM "Tabelle" WHERE "Auftragsstatus" = 'b' AND "Kunde" = "a"."Kunde") AS "Wert_b", (SELECT COUNT("Kunde") FROM "Tabelle" WHERE "Auftragsstatus" = 'c' AND "Kunde" = "a"."Kunde") AS "Wert_c" FROM "Tabelle" AS "a"
Muss natürlich COUNT heißen. Summen aus der Addition von Texten zu ziehen kann ja gar nicht gehen. Aber Einträge zusammenzählen kann schon funktionieren. Ob Du nun das Feld "Kunde" zählst oder das Feld "Auftragstatus" oder den Primärschlüssel ist eigentlich egal, da durch die Abfrage ja nur Datensätze ausgegeben werden, bei denen alle diese Felder auch vorhanden und nicht leer (NULL) sind.
Gruß
Robert
Re: Abfrage: Feldwert aufgesplittet in mehrere Spalten
Verfasst: Fr, 12.12.2014 16:55
von RobertG
Hallo Thomas,
Dies sagt nur aus, dass der Tabelle "Tabelle" ein Alias "a" zugewiesen wird. Das wird für die Unterabfragen benötigt, die alle auf den Inhalt des aktuellen Datensatzes der Tabelle zugreifen.
Code: Alles auswählen
SELECT "a"."Kunde", (SELECT COUNT("Kunde") FROM "Tabelle" WHERE "Auftragsstatus" = 'a' AND "Kunde" = "a"."Kunde") AS "Wert_a" FROM "Tabelle" AS "a"
Die Unterabfrage berechnet zu dem Kunden des aktuellen Datensatzes ("a"."Kunde") die Anzahl der Felder, bei denen im "Auftragsstatus 'a' vermerkt ist.
Wenn Du klarer sagst, was in den Tabellen drin steht, dann bekommen wir sicher aus den Hänger noch raus. Was klappt denn nicht ganz? Kommet eine Fehlermeldung oder werden zu viele Datensätze angezeigt. Brauchst Du vielleicht
damit pro Kunde nur eine einzige Anzeige erfolgt?
Gruß
Robert