select mit join Bedingung, damit kannst Du die Tabellen verknüpfen (Schlüsselfelder). Idealerweise so verknüpfen, daß du nur einen Select benötigst.Io hat geschrieben: 1. Wie mache ich die Selects, mit denen ich alle zusammengehörigen Daten aus den drei Tabellen auslesen kann?
Wo speichere ich die Daten rein?
2. Wie läuft es mit der Verarbeitung?
Code: Alles auswählen.
PARAMETERS: p_cityfr TYPE spfli-cityfrom,
p_cityto TYPE spfli-cityto.
DATA: BEGIN OF wa,
fldate TYPE sflight-fldate,
carrname TYPE scarr-carrname,
connid TYPE spfli-connid,
END OF wa.
DATA itab LIKE SORTED TABLE OF wa
WITH UNIQUE KEY fldate carrname connid.
SELECT c~carrname p~connid f~fldate
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( scarr AS c
INNER JOIN spfli AS p ON p~carrid = c~carrid
AND p~cityfrom = p_cityfr
AND p~cityto = p_cityto )
INNER JOIN sflight AS f ON f~carrid = p~carrid
AND f~connid = p~connid ).
LOOP AT itab INTO wa.
WRITE: / wa-fldate, wa-carrname, wa-connid.
ENDLOOP.
Genau das kannst Du mit der Join-Verknüpfung machen. Poste doch mal Dein Coding (oder zumindest den Aufbau der Tabellen, d.h. die relevanten Schlüsselfelder), dann kann man Dir helfen, den join zusammenzubauen.Io hat geschrieben:Hm. Will soll ich es sagen...ich brauche aus den ganzen Tabellen mehrere Felder um Berechnungen zu machen. Damit ich nicht so viele Loops machen muss (da spielt meine Logik nicht mit) wollte ich alles irgendwie in eine interne Tabelle speichern, sodass ich alles in nur einem Loop abbilden kann.
Grüße Io
Code: Alles auswählen.
SELECT c~felda p~feldb f~feldc
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( z902f AS c
INNER JOIN z902b AS p ON p~abtei = c~abtei
AND p~waogr = c~waogr
AND p~gjahr = c~gjahr )
INNER JOIN z9dbr AS f ON f~abtei = c~abtei
AND f~waogr = c~waogr).