-
QMQRY und Primärdatei
Hallo zusammen,
ich habe mehrere Queries auf QMQRY umgestellt und jetzt das Problem, das die Auswähl 'Mit Primärdatei gleiche Sätze' nicht übernommen wurde.
Kann ich das in der QMQRYSRC ändern? Und wenn ja, wie?
Danke an alle im voraus.
Gruss
Matthias
-
Quelle
Hier noch ein Ausschnitt der Quelldatei
Problem ist die letzte Verknüpung, zum Teil ist in der
Artikeldatei keine entsprechende Artikelnummer vorhanden
0001.00 H QM4 05 Q 01 E V W E R 01 03 04/11/22 13:31
0002.00 V 1001 050 Rechnungsausgänge GD nach Vertreter
0003.00 V 5001 004 *HEX
0004.00 SELECT
0005.00 ALL A.VERTRT, A.KUNNUM, D.BZ1, D.PLZ, D.ORT, A.ORDNUM, A.BELNUM,
0006.00 A.DRKDAT, B.ASTNUM, E."CHAR", E.ZF3, (B.POSWRT), B.GELMGE, E.VKPRS
0007.00 FROM FSBD106/FSFAK00P A,
0008.00 FSBD106/FSFAK01P B,
0009.00 FSBD101/FSADR01P C,
0010.00 FSBD101/FSADR00P D,
0011.00 FSBD101/FSAST00P E
0012.00 WHERE A.BELNUM = B.BELNUM
0013.00 AND A.KUNNUM = C.MANNUM
0014.00 AND C.ADRNUM = D.ADRNUM
0015.00 AND B.ASTNUM = E.ASTNUM
0016.00 AND( A.DRKDAT BETWEEN &FDATE AND &TDATE
0017.00 AND A.VERTRT = &VTX1
0018.00 AND C.VWDART = 'VR'
0019.00 AND C.ZNUM = 1
-
Mit Primärdatei gleiche Sätze ist ein "Inner Join", der durch Aufzählung der Dateien und der Beziehungen in der Where-Klausel so korrekt übernommen sit.
-
Hallo,
ist das nicht ein left join? der auch Sätze liefern soll, die kein Pendant haben?
Dieter Bender
Zitat von Fuerchau
Mit Primärdatei gleiche Sätze ist ein "Inner Join", der durch Aufzählung der Dateien und der Beziehungen in der Where-Klausel so korrekt übernommen sit.
-
Hallo Fuerchau und BenderD !
Hatten wir nicht vor kurzem schonmal eine Diskussion über die ganzen JOINs in bezug auf Query und QMQuery?
Gruß
Jürgen
-
Hallo Matthias!
Ändere die Teile der WHERE-Bedingung um die Dateien zu verbinden in einen LEFT OUTER JOIN um. Hier ist dieser Join beschrieben:
http://publib.boulder.ibm.com/iserie...bafymst126.htm .
Viele Grüße
Jürgen
-
jetzt wo du's sagst...
Zitat von Pikachu
-
Wenn im Join keine on-Beziehung benannt ist, sondern ausschließlich eine Where-Bedingung unter Ausschluss von NULL-Values, dann ist das ein INNER JOIN. Enthält allerdings die 1. Datei auch NULL-Werte in den Where-Feldern, kann es zu unerwünschten Ergebnissen führen, da NULL in der 1. Datei mit NULL in der 2. verglichen wird, was auch zutrifft, wenn da kein satz ist.
Also besser immer per JOIN die Verbindung definieren (ausser, wenn NULL's kein Thema sind).
Left [outer] Join on = Alle Sätze der 1. Datei, falls vorhanden auch die der 2. Datei (im Gegensatz zu Query liefert SQL den NULL-Wert und nicht den Default)
Exception Join on = Alle Sätze der 1. Datei, die NICHT in der 2. Datei sind
-
Hallo
das rechnen mit NULL gehorcht einer dreiwertigen Logik:
alle Vergleiche mit NULL liefern false
d.H. inner join lässt alle Sätze weg, wo eine der beiden Dateien im Vergleichsfeld NULL hat und auch die wo beide NULL haben.
Das liefern von NULL Werten kann man mit COALESCE unterdürcken. COALESCE(FEld1, ' ') liefert blanks, wenn Feld1 NULL ist, ansonsten den Inhalt von Feld1).
mfg
Dieter Bender
Zitat von Fuerchau
Wenn im Join keine on-Beziehung benannt ist, sondern ausschließlich eine Where-Bedingung unter Ausschluss von NULL-Values, dann ist das ein INNER JOIN. Enthält allerdings die 1. Datei auch NULL-Werte in den Where-Feldern, kann es zu unerwünschten Ergebnissen führen, da NULL in der 1. Datei mit NULL in der 2. verglichen wird, was auch zutrifft, wenn da kein satz ist.
Also besser immer per JOIN die Verbindung definieren (ausser, wenn NULL's kein Thema sind).
Left [outer] Join on = Alle Sätze der 1. Datei, falls vorhanden auch die der 2. Datei (im Gegensatz zu Query liefert SQL den NULL-Wert und nicht den Default)
Exception Join on = Alle Sätze der 1. Datei, die NICHT in der 2. Datei sind
-
Danke an alle für die Antworten.
Werde mich jetzt mal mit dem Left outer Join beschäftigen.
Gruss
Matthias
Similar Threads
-
By woki in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 02-06-05, 13:48
-
By Hubert in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 11-05-05, 13:25
-
By Matthias.Hayn in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 06-12-04, 13:33
-
By Matthias.Hayn in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 28-07-04, 09:26
-
By Atomik in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 21-11-01, 10:45
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks