Abfrage: Feldwert aufgesplittet in mehrere Spalten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Abfrage: Feldwert aufgesplittet in mehrere Spalten

Re: Abfrage: Feldwert aufgesplittet in mehrere Spalten

von RobertG » Fr, 12.12.2014 16:55

Hallo Thomas,

Code: Alles auswählen

SELECT "a"."Kunde" FROM "Tabelle" AS "a"
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

Code: Alles auswählen

SELECT DISTINCT "a"."Kunde" FROM "Tabelle" AS "a"
damit pro Kunde nur eine einzige Anzeige erfolgt?

Gruß

Robert

Re: Abfrage: Feldwert aufgesplittet in mehrere Spalten

von RobertG » Fr, 12.12.2014 16:08

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

von RobertG » Fr, 12.12.2014 12:23

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

Nach oben