Meherere Selects mit unterschiedlichen Bedingungen

Ruffnex

Neuer Benutzer
Beiträge
2
Hallo zusammen,

ich bin in Sachen SQL eher Amateur und habe daher zu meiner Frage bereits gesucht, aber nichts gefunden. Vielleicht auch nur, wiel ich falsch suche...
Ich habe folgendes Problem: ich möchte aus einer Tabellenspalte Werte angezeigt bekommen, wenn der Wert einer anderen Spalte ein fest definierter Wert ist. Als nächstes nochmal das gleiche nur mit einem anderen Wert der Bedingung.

Quasi so:

SELECT Merkmalswert WHEN Merkmalsname = 1 AS Merkmal1
,Merkmalswert WHEN Merkmalsname = 2 AS Merkmal2
,Merkmalswert WHEN Merkmalsname = 3 AS Merkmal3
usw...
FROM xy

Ich nehme also immer die gleiche Spalte (Merkmalswert) möchte sie aber mehrfach mit unterschiedlichen Namen nebeneinander darstellen und jedesmal abhängig von einem Wert aus einer anderen Spalte.
Das das "Script" oben Unsinn ist klar. Soll nur verdeutlichen, was ich meine. Hoffe, das hat zumindest funktioniert :)

Ist sowas möglich? Dachte zuerst an CASE, aber dann Frage ich nur Werte innerhalb der angezeigten Spalte ab und nicht die Werte als Bedingung aus einer andreen Spalte.

Vielen Dank schonmal und Beste Grüße
 
Werbung:
Ok:

Code:
test=# create table ruffnex as select s, random() as val from generate_series(1, 5) s;
SELECT 5
test=*# select case when s=1 then val else null end as s1, case when s=2 then val else null end as s2, case when s=3 then val else null end as s4, case when s=5 then val else null end as s5 from ruffnex ;
  s1  |  s2  |  s4  |  s5   
-------------------+-------------------+-------------------+-------------------
 0.758795911911875 |  |  |   
  | 0.738177133724093 |  |   
  |  | 0.885318680666387 |   
  |  |  |   
  |  |  | 0.613146167248487
(5 Zeilen)
test=*# select max(case when s=1 then val else null end) as s1, max(case when s=2 then val else null end) as s2, max(case when s=3 then val else null end) as s4, max(case when s=5 then val else null end) as s5 from ruffnex ;
  s1  |  s2  |  s4  |  s5   
-------------------+-------------------+-------------------+-------------------
 0.758795911911875 | 0.738177133724093 | 0.885318680666387 | 0.613146167248487
(1 Zeile)

test=*#

ROLLBACK & Kaffee ;-)
 
Werbung:
Zurück
Oben