[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2000
    Beiträge
    279

    sql stehe auf dem Schlauch

    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
    Programmierung

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    FROM R4BSBK, inner join R4BSBP

    das Komma ist falsch

    Gruß
    BSBK_BESTEll_kz,
    FROM R4BSBK
    hier auch
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Dec 2000
    Beiträge
    279
    Wenn ich das Komma weglasse wird schon "inner" angemeckert
    Klaus
    Programmierung

  4. #4
    Registriert seit
    Dec 2000
    Beiträge
    279
    Ok hast recht
    Danke manchmal sieht mann den Wald vor lauter Bäumen nicht
    Programmierung

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    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

Similar Threads

  1. Jahr im Datum ändern - steh auf dem Schlauch
    By camouflage in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 04-07-18, 14:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •