Rolf b: SQL Abfrage von Zeilen auf Spalten

Beitrag lesen

Das Problem ist, dass Du nicht weißt wieviele Spalten Du haben willst. SQL Queries können beliebig viele Zeilen haben, aber bei Spalten ist sie Sache anders.

Wenn Du Dich auf eine bestimmte Farbpalette festlegen kannst und genau weißt, wie die Farben identifizierbar sind, kannst Du Dir mit Subselects helfen.

Mal angenommen, der Kopierer liefert Dir dies:

SELECT Farbe, Menge FROM kopierer
Farbe	  Menge  
Magenta   50  
Cyan      90   
Yellow    10  
Black     94  
Paper     1175

Dann müsste dies hier funktionieren:

SELECT '3. Stock links' as Name,
       (SELECT Menge FROM kopierer WHERE Farbe = 'Magenta') AS Magenta,
       (SELECT Menge FROM kopierer WHERE Farbe = 'Cyan'   ) AS Cyan,
       (SELECT Menge FROM kopierer WHERE Farbe = 'Yellow' ) AS Yellow,
       (SELECT Menge FROM kopierer WHERE Farbe = 'Black'  ) AS Black

und du bekommst

Name             Magenta   Cyan      Yellow    Black
3. Stock links   50        90        10        94

Ist nicht wirklich effizient, weil Du die Kiste für jede Farbe einzeln fragen musst, aber mit SQL geht meines Wissens nicht mehr.

Update: Nach etwas googlen habe ich diesen Stackoverflow-Artikel gefunden, wo im Prinzip das Gleiche passiert, aber mit Bedingungsausdrücken im SELECT statt Subselects. Geht vermutlich auch.

HTH
Rolf