Anmelden

View Full Version : Subselect in case when auf DB2/400



Flo4711
29-09-06, 14:12
<!--body-->Hallo,
ich habe folgendes Problem:
Ich verwende einen subselct innerhalb einer "SELECT CASE WHEN" Anweisung zur Gültigkeitsprüfung von ko025:

select
case when ko025 in (SELECT sk025
FROM Konto
WHERE Firma = '10' and Jahr = 2006)
then 1
else 2
end CCd

Unter Oracle läuft das ohne Probleme.

Auf einer AS/400 (I5) kommt bei gleicher Syntax folgende Fehlemeldung:
"Vergleichsoperator IN ungültig"???
Eine Gültigkeitsprüfung mit IN ist auf der I5 aber generell möglich;
z.B. funktioniert folgendes:
select
case when ko025 in 'A B C'
then 1
else 2
end CCd

Heisst das ich kann hier keinen subselect innerhalb der select case when Anweisung verwenden??? oder muss hier syntaktisch was verändert werden????
Ich hoffe hier kann jemand helfen, da es dringend ist!
Vielen Dank im Voraus!!

Florian

Fuerchau
29-09-06, 14:29
Leider ist dem so:

The search-condition in a searched-when-clause cannot contain a basic predicate with a subselect, a
quantified predicate, an IN predicate using a subselect, or an EXISTS predicate.

Flo4711
29-09-06, 14:35
:( ... gibt es einen work around der zum selben Ergebnis führt???

Florian

Fuerchau
29-09-06, 14:39
Naja, wie wärs irgendwie mit ein bisschen nachdenken ?

Flo4711
29-09-06, 14:57
du kannst mir glauben, dass ich über diesem Problem schon lange brüte...:mad:

Eigentlich fast den ganzen tag (hätte eigentlcih ab 12 Wochenende...).
Ich bin leider kein ausgebildeteer Programmierer und habe auch mit SQL nicht die Erfahrung wie vielleicht andere hier..
Die Case When Anweisung benötige ich zur Ermittlung des Kennzeichens 1 oder 2 ... wenn ich hier innerhalb nicht auf eine andere Datei selektieren kann, wüsste ich mit meinen eben nur bescheidenen Mitteln nicht wie ich es machen könnte.

Ich freue mich dennoch für jeden hier der größere Erfahrungen hat.
Ebenso freue ich mich über Beiträge, die mir weiterhelfen ... auf hämische od. belehrende Antworten möchte ich - auch von Moderatoren - gerne verzichten!:mad:

Gruß und schönes WE allen
Florian

Fuerchau
29-09-06, 17:31
Tut mir leid, wenn meine Antwort falsch rübergekommen ist.
Aber leider wird hier des öfteren Programmieruntericht erteilt und dazu hatte ich im Moment nicht die Lust und Muße, da dies nicht in 5 Minuten abgehandelt ist.

Also nichts für ungut ;)