... WHERE (CASE WHEN ...)
Verfasst: So, 29.03.2009 21:39
Hallo,
Ich hab wieder mal ein Problem mit meiner Adressdatenbank. Nachfolgend das Problem etwas vereinfacht.
Man habe folgende Tabellen:
"testdaten" "testbedingung"
Nun möchte ich eine Abfrage auf die Tabelle "testdaten" machen, mit folgenden Bedingungen:
- Nur diejenigen Datensätze werden angezeigt, dessen "Nr" in "testbedingung" vorkommt.
- Wenn aber in "testbediungung" '0' oder kein Eintrag vorhanden ist, sollen alle Datensätze angezeigt werden.
(Ich hoffe, das Problem ist so verständlich geschildert)
Ich habs folgendermassen versucht, hat aber nicht funktionniert ("Unexpectet token in statement..."):
Ich freue mich auf Korrekturen oder neue Ideen. Danke im Voraus!
DonZefe
Ich hab wieder mal ein Problem mit meiner Adressdatenbank. Nachfolgend das Problem etwas vereinfacht.
Man habe folgende Tabellen:
"testdaten" "testbedingung"
Nun möchte ich eine Abfrage auf die Tabelle "testdaten" machen, mit folgenden Bedingungen:
- Nur diejenigen Datensätze werden angezeigt, dessen "Nr" in "testbedingung" vorkommt.
- Wenn aber in "testbediungung" '0' oder kein Eintrag vorhanden ist, sollen alle Datensätze angezeigt werden.
(Ich hoffe, das Problem ist so verständlich geschildert)
Ich habs folgendermassen versucht, hat aber nicht funktionniert ("Unexpectet token in statement..."):
Code: Alles auswählen
SELECT DISTINCT * FROM "testdaten"
WHERE (
CASE
WHEN ( '0' IN ( SELECT "Nr" FROM "testbedingung" ))
THEN ( "Nr" = "Nr" )
ELSE ( "Nr" IN ( SELECT " Nr" FROM "testbedingung") )
)
Ich freue mich auf Korrekturen oder neue Ideen. Danke im Voraus!
DonZefe