bei folgendem SQL bekomme ich immer den SQLCOD -420: SELECT * FROM TCNSHD a left join TSTATS b on a.SP=b.SP and a.CNSNOSP=b.CNSNOSP where B.STATUSCODE = '116' and A.finalflag= 0 AND NOT EXISTS ( SELECT * FROM TSTATS C WHERE B.FKCNS = C.FKCNS AND C.STATUSCODE = '117')
Wenn ich das Statement WHERE B.FKCNS = C.FKCNSrausnehmeläuft das SQL! Interaktiv läuft das SQL übrigens auch mit dem Statment!
Das Feld FKCNS ist folgendermaßen definiert: FKCNS Foreign Key Consigment B 10,0 5 8
B.FKCNS = C.FKCNS Sind die Felder denn vom gleichen Typ oder hast Du irgendwo ungültige Daten in deiner Datei, den der CAST scheint in die Hose zu gehen?
Hast Du bei deinen Tests die gleichen Bibliothekslisten? Nicht das Du eine andere Datei erwicht hast.
Also irgendwie muss es an den Daten liegen, aber das kann ich von hier aus nicht beurteilen.
Mir fällt aber auch sonst nichts mehr ein, woran es noch liegen könnte.
Aber das könntest Du noch mal testen
was aber eigentlich durch den Inner join abgedeckt war. Aber probieren geht über studieren ;-)
SELECT * FROM TCNSHD a left join TSTATS b on a.SP=b.SP and a.CNSNOSP=b.CNSNOSP where B.STATUSCODE = '116' and A.finalflag= 0 AND NOT EXISTS ( SELECT * FROM TSTATS C WHERE COALESCE(B.FKCNS, 0) = C.FKCNS AND C.STATUSCODE = '117')
Wie bereits vermutet geht es so auch nicht. An den Daten kann es eigentlich nicht liegen, da das SQL interaktiv durchläuft und auch die gewünschten Daten angezeigt werden.
Trotzdem, nochmals vielen Dank für deine Hilfe. Aber tröste dich, bei uns im Hause sind auch alle völlig ratlos.
Bookmarks