[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    125

    Question QMQRY LEFT OUTER JOIN

    Hallo Gemeinde,

    nachdem ich mich heute vormittag aufgrund der Antworten im Forum nun mit dem LEFT OUTER JOIN beschäftigt habe, stecke ich nun fest.
    Ich habe nachfolgend mal den Quellcode des QMQRY kopiert, wenn ich den mit STRQMQRY aufrufe, bekomme ich die Nachricht 'Schlüsselwort WHERE nicht erwartet. Gültige Token: ON LEFT CROSS INNER
    EXCEPTION.'

    Was mache ich falsch?

    Danke an alle im voraus

    Matthias

    --START QUELLCODE
    H QM4 05 Q 01 E V W E R 01 03 04/11/22 13:31
    V 1001 050 Rechnungsausgänge GD nach Vertreter
    V 5001 004 *HEX
    SELECT
    ALL A.VERTRT, A.KUNNUM, D.BZ1, D.PLZ, D.ORT, A.ORDNUM, A.BELNUM,
    A.DRKDAT, B.ASTNUM, E."CHAR", E.ZF3, (B.POSWRT), B.GELMGE, E.VKPRS
    FROM FSBD106/FSFAK00P A
    LEFT OUTER JOIN FSBD106/FSFAK01P B
    LEFT OUTER JOIN FSBD101/FSADR01P C
    LEFT OUTER JOIN FSBD101/FSADR00P D
    LEFT OUTER JOIN FSBD101/FSAST00P E
    ON A.BELNUM = B.BELNUM
    AND A.KUNNUM = C.MANNUM
    AND C.ADRNUM = D.ADRNUM
    AND B.ASTNUM = E.ASTNUM
    WHERE
    (A.DRKDAT BETWEEN &FDATE AND &TDATE
    AND A.VERTRT = &VTX1
    AND C.VWDART = 'VR'
    AND C.ZNUM = 1
    AND A.BELART = 'GD')
    ORDER BY 001 ASC, 002 ASC

  2. #2
    Registriert seit
    Oct 2003
    Beiträge
    117
    Meines Wissens verträgt sich ON und WHERE nicht.
    Lass das WHERE einfach weg, dafür ein AND dazu:

    SELECT
    ALL A.VERTRT, A.KUNNUM, D.BZ1, D.PLZ, D.ORT, A.ORDNUM, A.BELNUM,
    A.DRKDAT, B.ASTNUM, E."CHAR", E.ZF3, (B.POSWRT), B.GELMGE, E.VKPRS
    FROM FSBD106/FSFAK00P A
    LEFT OUTER JOIN FSBD106/FSFAK01P B
    LEFT OUTER JOIN FSBD101/FSADR01P C
    LEFT OUTER JOIN FSBD101/FSADR00P D
    LEFT OUTER JOIN FSBD101/FSAST00P E
    ON A.BELNUM = B.BELNUM
    AND A.KUNNUM = C.MANNUM
    AND C.ADRNUM = D.ADRNUM
    AND B.ASTNUM = E.ASTNUM
    AND A.DRKDAT BETWEEN &FDATE AND &TDATE
    AND A.VERTRT = &VTX1
    AND C.VWDART = 'VR'
    AND C.ZNUM = 1
    AND A.BELART = 'GD'
    ORDER BY 001 ASC, 002 ASC

    Gruß
    Allrounder

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.299
    Hallo Matthias,
    SELECT
    ALL A.VERTRT, A.KUNNUM, D.BZ1, D.PLZ, D.ORT, A.ORDNUM, A.BELNUM,
    A.DRKDAT, B.ASTNUM, E."CHAR", E.ZF3, (B.POSWRT), B.GELMGE, E.VKPRS
    FROM FSBD106/FSFAK00P A
    LEFT OUTER JOIN FSBD106/FSFAK01P B
    ON A.BELNUM = B.BELNUM
    LEFT OUTER JOIN FSBD101/FSADR01P C
    ON A.KUNNUM = C.MANNUM
    LEFT OUTER JOIN FSBD101/FSADR00P D
    ON C.ADRNUM = D.ADRNUM
    LEFT OUTER JOIN FSBD101/FSAST00P E
    ON B.ASTNUM = E.ASTNUM
    WHERE
    (A.DRKDAT BETWEEN &FDATE AND &TDATE
    AND A.VERTRT = &VTX1
    AND C.VWDART = 'VR'
    AND C.ZNUM = 1
    AND A.BELART = 'GD')
    ORDER BY 001 ASC, 002 ASC

    Zitat Zitat von Matthias.Hayn
    Hallo Gemeinde,

    nachdem ich mich heute vormittag aufgrund der Antworten im Forum nun mit dem LEFT OUTER JOIN beschäftigt habe, stecke ich nun fest.
    Ich habe nachfolgend mal den Quellcode des QMQRY kopiert, wenn ich den mit STRQMQRY aufrufe, bekomme ich die Nachricht 'Schlüsselwort WHERE nicht erwartet. Gültige Token: ON LEFT CROSS INNER
    EXCEPTION.'

    Was mache ich falsch?

    Danke an alle im voraus

    Matthias

    --START QUELLCODE
    H QM4 05 Q 01 E V W E R 01 03 04/11/22 13:31
    V 1001 050 Rechnungsausgänge GD nach Vertreter
    V 5001 004 *HEX
    SELECT
    ALL A.VERTRT, A.KUNNUM, D.BZ1, D.PLZ, D.ORT, A.ORDNUM, A.BELNUM,
    A.DRKDAT, B.ASTNUM, E."CHAR", E.ZF3, (B.POSWRT), B.GELMGE, E.VKPRS
    FROM FSBD106/FSFAK00P A
    LEFT OUTER JOIN FSBD106/FSFAK01P B
    LEFT OUTER JOIN FSBD101/FSADR01P C
    LEFT OUTER JOIN FSBD101/FSADR00P D
    LEFT OUTER JOIN FSBD101/FSAST00P E
    ON A.BELNUM = B.BELNUM
    AND A.KUNNUM = C.MANNUM
    AND C.ADRNUM = D.ADRNUM
    AND B.ASTNUM = E.ASTNUM
    WHERE
    (A.DRKDAT BETWEEN &FDATE AND &TDATE
    AND A.VERTRT = &VTX1
    AND C.VWDART = 'VR'
    AND C.ZNUM = 1
    AND A.BELART = 'GD')
    ORDER BY 001 ASC, 002 ASC
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    125

    @BenderD

    Danke, das klappt ja einwandfrei.
    Und wieder was gelernt!

    Gruss

    Matthias

Similar Threads

  1. Join-Verknüpfung - "Ausgabe" von NULL-Werten
    By roman in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 07-09-07, 10:05
  2. Join logical File
    By leber in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 19-01-07, 13:55
  3. SQL left join
    By ahingerl in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 08-12-06, 08:28
  4. SQL - Join mit Bedingung und Update
    By cassi in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 22-11-06, 15:03
  5. LEFT OUTER JOIN
    By GS in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-11-02, 08:51

Berechtigungen

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