PDA

View Full Version : sql stehe auf dem Schlauch



K_Tippi
20-11-18, 11:19
SQL Join wird angemeckert

SELECT BSBK.R4FIRSL, BSBK.R4FILSL, BSBK.R4LAGSL, BSBK_NR,
BSBK_ANLAGE_DATUM, BSBP_POS, BSBP_MENGE, BSBP_LFT, BSBK_BESTEll_kz,
FROM R4BSBK, inner join R4BSBP
on r4bsbk.r4firsl = r4bsbp.r4firsl
and r4bsbk.r4filsl = r4bsbp.r4filsl
and bsbk_nr = bsbp_nr
WHERE
R4BSBP.R4FIRSL = 'MSZ' AND BSBK_ANLAGE_Datum >= 20180101 AND
BSBP_TNR = 'CT6005030722 ' AND BSBP_TART = 000110
------------------------------------------------------------
Token R4BSBP ungültig. Gültige Token: , FROM INTO.
?????????????

Die Feldnamen in der DB sind über Alias beschrieben COBOL Anwendung

Robi
20-11-18, 11:30
FROM R4BSBK, inner join R4BSBP


das Komma ist falsch

Gruß
BSBK_BESTEll_kz,
FROM R4BSBK

hier auch

K_Tippi
20-11-18, 11:35
Wenn ich das Komma weglasse wird schon "inner" angemeckert
Klaus

K_Tippi
20-11-18, 11:38
Ok hast recht
Danke manchmal sieht mann den Wald vor lauter Bäumen nicht

andreaspr@aon.at
20-11-18, 11:40
Ja weil der Beistrich vor dem FROM auch weg gehört.
Hat Robi schon geschrieben.
Habs aber selbst 3 mal lesen müssen bis ich es dann auch gesehen habe :-)

Die DB glaubt, dass das FROM eine weitere Spalte ist und die Tabelle nach dem FROM deshalb einfach nur ein Alias Name für die Spalte und deshalb verlangt er entweder ein From oder ein ", " danach (so wie in der Fehlermeldung beschrieben).

Das korrekte SQL ist dann:

SELECT BSBK.R4FIRSL, BSBK.R4FILSL, BSBK.R4LAGSL, BSBK_NR,
BSBK_ANLAGE_DATUM, BSBP_POS, BSBP_MENGE, BSBP_LFT, BSBK_BESTEll_kz
FROM R4BSBK inner join R4BSBP
on r4bsbk.r4firsl = r4bsbp.r4firsl
and r4bsbk.r4filsl = r4bsbp.r4filsl
and bsbk_nr = bsbp_nr
WHERE
R4BSBP.R4FIRSL = 'MSZ' AND BSBK_ANLAGE_Datum >= 20180101 AND
BSBP_TNR = 'CT6005030722 ' AND BSBP_TART = 000110


lg Andreas