LEFT OUTER JOIN

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

LEFT OUTER JOIN

Beitrag von Bernd ( / / 0 / 3 ) »
Hi Leute,

ich komme im Moment mit einem Select nicht recht weiter. Möchte gerne alle maintable_id, die in der Tabelle zcsp_maintable vorkommen, aber nicht in der Tabelle zcsp_sel_bearb.

Hat jemand eine Idee, was an dem Coding falsch ist?
Bis jetzt bekommme ich immer alle maintable_id der Tabelle zcsp_maintable!

Code: Alles auswählen.

SELECT a~maintable_id
  FROM zcsp_maintable AS a LEFT OUTER JOIN       
  zcsp_maintable AS b
  ON a~maintable_id =  b~maintable_id
  INTO l_itab_anfrage_1-low.

  APPEND l_itab_anfrage_1 TO itab_anfrage_1.
ENDSELECT.

vielen Dank!

Bernd

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Gast ( / / 0 / 3 ) »

Code: Alles auswählen.

SELECT a~maintable_id
  FROM zcsp_maintable AS a LEFT OUTER JOIN       
  zcsp_sel_bearb AS b
  ON a~maintable_id =  b~maintable_id
  INTO l_itab_anfrage_1-low.

  APPEND l_itab_anfrage_1 TO itab_anfrage_1.
ENDSELECT. 
So, jetzt sollte es funktionieren :-)

Beitrag von Gast ( / / 0 / 3 ) »
..ups war ein dummer Fehler von mir. Aber leider gibt er immer noch das selbe aus.

Re: LEFT OUTER JOIN

Beitrag von Gast ( / / 0 / 3 ) »
Bernd hat geschrieben: Möchte gerne alle maintable_id, die in der Tabelle zcsp_maintable vorkommen, aber nicht in der Tabelle zcsp_sel_bearb.

Hat jemand eine Idee, was an dem Coding falsch ist?
Bis jetzt bekommme ich immer alle maintable_id der Tabelle zcsp_maintable!
Du möchtest alle ids aus zcsp_maintable aber nicht diejenigen ids aus dieser Tabelle, die nicht in zcsp_sel_bearb vorkommen?
Dann ist ein LEFT JOIN nicht das richtige, denn da bekommst Du alle id's aus zcsp_maintable auch dann, wenn sie nicht zcsp_sel_bearb vorkommen (siehe dazu auch Funktionsweise eines LEFT JOIN).

Wenn ich es richtig verstanden habe, dann müßtest Du einen INNER JOIN verwenden.

Beitrag von ViktorJ ( / / 0 / 3 ) »
Mach mit Subquery.

SELECT maintable_id
INTO l_itab_anfrage_1-low
FROM zcsp_maintable
WHERE NOT maintable_id IN ( SELECT maintable_id
FROM zcsp_sel_bearb ).

APPEND l_itab_anfrage_1 TO itab_anfrage_1.
ENDSELECT.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »

Code: Alles auswählen.

DATA:
  r_matnr TYPE RANGE OF matnr WITH HEADER LINE.
* Variante mit Subquery
SELECT DISTINCT matnr AS low
  FROM mara
  INTO CORRESPONDING FIELDS OF TABLE r_matnr
  WHERE matnr NOT IN
        ( SELECT DISTINCT matnr
            FROM marc
        ).

* jetzt noch die Range-Tabelle vollenden
r_matnr-sign = 'I'.
r_matnr-option = 'EQ'.
MODIFY r_matnr FROM r_matnr
  TRANSPORTING sign
             option
             WHERE sign EQ space.
mir ist es nicht gelungen, eine Selektion mit OUTER JOIN zu bauen, wo ich auf nicht Vorhandensein des Wertes prüfen kann.
In der ON-Bedingung sind nur '=' und 'EQ' als Operatoren erlaubt und in der WHERE-Bedingung dürfen keine Felder aus der rechten Tabelle abgefragt werden... :?

Zusätzlich empfehle ich mal sich die Online-Hilfe zum SELECT anzusehen, da es dort eine ganze Menge Informationen gibt.

Und noch ganz wichtig:
Benutzt nie SELECT-Schleifen. Sie kosten erheblich Zeit und können beim Debuggen Probleme bereiten.
Mittels AS-Klausel kann
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2358
Views
1
Antw.
1218
Views
Join mit Left Outer Join
von Rude1986 » 17.01.2021 19:53 • Verfasst in ABAP® für Anfänger
2
Antw.
4867
Views
interne Tabellen vereinigen (outer join)
von Carlos-X » 01.06.2008 13:18 • Verfasst in ABAP® für Anfänger
4
Antw.
2364
Views
View 2 Tabellen mit left inner join ?
von Kleenmex » 07.04.2008 13:38 • Verfasst in ABAP® für Anfänger
2
Antw.
1815
Views
Versuch Left Join von 2 auf 3 Tabellen zu erweitern
von Domgr » 10.07.2020 16:59 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 499
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2139
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8735