Hi,
ich habe folgendes Problem und hoffe, dass mir jemand weiterhelfen kann. Ich denke, ich bin bereits zu weit in den Wald gelaufen 😎.
Ich möchte einen Join über mehrere Tabellen machen. In Tabelle A stehen alle Werte, die überhaupt in Betracht kommen, die Grundmenge sozusagen, und andere nicht in Betracht kommende Werte. In Tabelle B stehen ebenfalls all diese Werte, außer die anderen nicht in Betracht kommenden. In Tabelle C steht eine Teilmenge von Tabelle B. Das Ziel ist es die Tabelle B auf die gleiche Teilmenge C zu bekommen. Ich hoffe der Interessierte konnte bis hierhin folgen 😕.
Ich möchte mit einem Join eine interne Tabelle derart befüllen, dass ich die Teilmenge B minus C in dieser internen Tabelle verfügbar habe. Zur Veranschaulichung ein Beispiel.
A
Nummer
4711
4712
4713
0815
B
Nummer
4711
4712
4713
C
Nummer
4711
4712
itab (Ziel)
Nummer
4713
Wie muss mein Join aussehen, damit ich diese Nummer bekomme? Folgendes Gerüst habe ich bereits erstellt. Die Try-Catch-Anweisung habe ich mal zur Vereinfachung weggelassen. Ebenfalls habe ich die Konditionen der Where-Bedingung weggelassen.
TRY.
SELECT b-Nummer
FROM ( a
INNER JOIN b
ON b-Nummer = a-Nummer )
LEFT OUTER JOIN c
ON c-Nummer = b-Nummer AND
b-Nummer = SPACE
WHERE [...]
INTO TABLE @itab.
CATCH.
ENDTRY.
Das Resultat sind allerdings 2 Einträge der Tabelle B. Was mache ich falsch?
Liebe Grüße und Danke für die Unterstützung.
Bearbeitet vom Benutzer
vor 7 Jahre
|
Grund: Nicht angegeben