Anmelden

View Full Version : SQL Datenselektion



hteufl
03-02-11, 08:06
Halle Freunde!

Ich habe ein kleines Problem mit einer SQL Selectanweisung. Ich möchte aus einer Datenbankdatei (Artikeldatei: TMAT00) Daten selektieren und aus einer weiteren (Lieferantendatei: TKRSTAM) die Informationen des Lieferanten dazulesen. Die Selektion die ich erstellt habe funktioniert so weit so gut. Nur kann es vorkommen, dass in der Lieferantendatei für einen Artikel kein Eintrag enthalten ist. SQL sollte aber auch diesen Artikel selektieren. Anbei meine momentane SQL Select Anweisung:

SELECT TMAT00.ATBNR, TMAT00.ATARTG, TMAT00.ATARTN, TMAT00.ATBEZ1, TMAT00.ATBEZ2, TMAT00.ATBEZ3, TMAT00.ATBEZ4, TMAT00.ATLINR, TKRSTAM.NAME1, TKRSTAM.DBNAM2 FROM TMAT00 TMAT00, TKRSTAM TKRSTAM WHERE ((TMAT00.ATBNR=TKRSTAM.DBBNR) AND (TMAT00.ATLINR=TKRSTAM.DBKDNR) AND (TMAT00.ATARTG='POLY') AND (TMAT00.ATBNR='000') AND (TMAT00.ATLOE=' ')) ORDER BY TMAT00.ATBNR, TMAT00.ATARTG, TMAT00.ATARTN

Firma: ATBNR und DBBNR
Lieferantennummer: ATLINR und DBKDNR

Die Selection bringt alle Arikel wozu ein Eintrag in der Lieferantendatei vorhanden ist. Ich möchte aber wie bereits geschrieben alle Artikel unabhängig vom Eintrag in der Lieferantendatei selektieren. Wie kann ich die Abfrage modifizieren, damit alle Einträge selektiert werden?

Danke im Voraus

Hermann

B.Hauser
03-02-11, 08:16
LEFT OUTER JOIN ist Dein Freund:

SELECT TMAT00.ATBNR, TMAT00.ATARTG, TMAT00.ATARTN, TMAT00.ATBEZ1, TMAT00.ATBEZ2, TMAT00.ATBEZ3, TMAT00.ATBEZ4, TMAT00.ATLINR, TKRSTAM.NAME1, TKRSTAM.DBNAM2
FROM TMAT00 Left Outer Join TKRSTAM on ATBNR = DBBNR and ATLINR = DBKDNR
WHERE (TMAT00.ATARTG='POLY') AND (TMAT00.ATBNR='000') AND (TMAT00.ATLOE=' '))
ORDER BY TMAT00.ATBNR, TMAT00.ATARTG, TMAT00.ATARTN

Nach "ON" muss die Verknüpfung der Key-Felder angegeben werden.

Birgitta

hteufl
03-02-11, 08:34
Hallo Birgitta!

Vielen Dank für deinen Tipp. Ich habe ihn natürlich sofort ausprobiert und es hat wunderbar funktioniert!
Das nächste mal werde ich viel früher posten und mir nicht zuvor stundenlang den Kopf zerbrechen.

Vielen Dank

Hermann

Fuerchau
03-02-11, 10:31
Das nächste mal aber bitte im Forum Programmierung.
Dieses hier dient der Präsentation von Software.