2006 Dec 05 3:00 PM
Hi,
I need a guidance to join 3 tables at the same time.
Best regards.
Hi,
I need a guidance to join 3 tables at the same time.
Best regards.
2006 Dec 05 3:02 PM
If you search this forum for "JOIN", you should find many examples.
Rob
2006 Dec 05 3:03 PM
check this example this might help,
SELECT awerks abudat agrund aism03 aaufnr arueck a~rmzhl
astzhl aerzet
bmatnr cverid INTO CORRESPONDING FIELDS OF TABLE itab FROM
afru AS a INNER JOIN afpo AS b ON
aaufnr = baufnr INNER JOIN
mkal AS c ON bmatnr = cmatnr
FOR ALL ENTRIES IN it_blpk
WHERE c~verid = it_blpk-verid
AND a~budat = it_blpk-budat
AND a~erzet = it_blpk-uzeit
AND a~werks = it_blpk-werks
AND b~matnr = it_blpk-matnr
AND a~grund IN s_grund AND
( abudat >= cadatu AND
abudat <= cbdatu ) AND
a~ism03 <> 0 AND
a~ile03 EQ 'STD'.
This statements joind data from 3 tables into one internal table.
Hope this helps.
2006 Dec 05 3:03 PM
same as joining two tables ...
after joining the first two tables ... add the condition for joining the 2nd and 3rd table ...
Cheers,
amit
2006 Dec 05 3:04 PM
select afield1 afield2 bfield3 bfield4 cfield5 cfield6 into itab
from table1 as a inner join table2 as b on a-key = b-key
inner join table3 as c on b-key = c-key
where <conditions>..........Here while putting conditions need to put as afield or bfield or c~field.
Message was edited by:
Ramesh Babu Chirumamilla
2006 Dec 05 3:18 PM
You can use a dirty trick -:P SQ02...Create a query, make the join and copy the code -;)
Greetings,
Blag.
2006 Dec 06 4:11 PM
Hi Said ,
data: begin of i_kna1 occurs 1,
kunnr like kna1-kunnr,
land1 like kna1-land1,
name1 like kna1-name1,
ort01 like kna1-ort01,
end of i_kna1.
data: begin of i_vbak occurs 1,
kunnr like vbak-kunnr,
vbeln like vbak-vbeln,
erdat like vbak-erdat,
ernam like vbak-ernam,
end of i_vbak.
data: begin of i_vbap occurs 1,
vbeln like vbap-vbeln,
posnr like vbap-posnr,
matnr like vbap-matnr,
charg like vbap-charg,
end of i_vbap.
data: begin of i_mara,
matnr like mara-matnr,
mbrsh like mara-mbrsh,
mtart like mara-mtart,
meins like mara-meins,
end of i_mara.
data: begin of i_dest occurs 1,
kunnr like kna1-kunnr,
land1 like kna1-land1,
name1 like kna1-name1,
ort01 like kna1-ort01,
vbeln like vbak-vbeln,
erdat like vbak-erdat,
ernam like vbak-ernam,
posnr like vbap-posnr,
matnr like vbap-matnr,
charg like vbap-charg,
mbrsh like mara-mbrsh,
mtart like mara-mtart,
meins like mara-meins,
end of i_dest.
select kkunnr kland1 kname1 kort01 vvbeln verdat vernam pposnr
pmatnr pcharg into table i_dest from kna1 as k inner join vbak as v on
kkunnr = vkunnr inner join vbap as p on vvbeln = pvbeln inner join
mara as m on pmatnr = mmatnr.
loop at i_dest.
write: / i_dest-kunnr, i_dest-land1, i_dest-name1, i_dest-ort01,
i_dest-vbeln, i_dest-erdat, i_dest-ernam, i_dest-posnr, i_dest-matnr,
i_dest-charg, i_dest-mbrsh, i_dest-mtart, i_dest-meins.
endloop.
Cheers.
2006 Dec 06 4:17 PM
Hi,
U may experience performance related problem if u join more than 2 tables ( depends on table size ). For better performance u can join two tables get all the information in one internal table then considering that internal table as a driver table u can select all necessary data from the 3rd table using FOR ALL ENTRIES.
Cheers.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |