Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Join several tables

Former Member
0 Likes
999

Hi,

I need a guidance to join 3 tables at the same time.

Best regards.

If you search this forum for "JOIN", you should find many examples.

Rob

7 REPLIES 7
Read only

Former Member
0 Likes
962

If you search this forum for "JOIN", you should find many examples.

Rob

Read only

Former Member
0 Likes
962

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.

Read only

Former Member
0 Likes
962

same as joining two tables ...

after joining the first two tables ... add the condition for joining the 2nd and 3rd table ...

Cheers,

amit

Read only

Former Member
0 Likes
962

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

Read only

0 Likes
962

You can use a dirty trick -:P SQ02...Create a query, make the join and copy the code -;)

Greetings,

Blag.

Read only

Former Member
0 Likes
962

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.

Read only

Former Member
0 Likes
962

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.