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

select statement

Former Member
0 Likes
644

Hi,

if i want to have another inner join where 'c' vbrk-vbeln = 'b' vbrp-vbeln, may i know how to have this in the below select statement. i cannot continue to have inner join as 'a' is not vbrp.

thanks

SELECT avbelv avbeln baubel bvgbel bcharg bfkimg

FROM vbfa AS a INNER JOIN vbrp AS b

ON avbeln = bvbeln

INTO CORRESPONDING FIELDS OF it_vbeln

FOR ALL ENTRIES IN it_report

WHERE a~vbelv = it_report-vgbel AND

a~vbtyp_n = 'M'.

COLLECT it_vbeln.

ENDSELECT.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
621

Hi,

You Can have the select statement like this......

SELECT avbelv avbeln baubel bvgbel bcharg bfkimg

FROM vbrp AS b INNER JOIN vbrk AS c

ON cvbeln = b-vbeln

INNER JOIN

vbfa AS a

ON avbeln = bvbeln

INTO CORRESPONDING FIELDS OF it_vbeln

FOR ALL ENTRIES IN it_report

WHERE a~vbelv = it_report-vgbel AND

a~vbtyp_n = 'M'.

COLLECT it_vbeln.

ENDSELECT.

Check the below sample prog on Inner joins:

REPORT demo_select_inner_join.

DATA: BEGIN OF wa,

carrid TYPE spfli-carrid,

connid TYPE spfli-connid,

fldate TYPE sflight-fldate,

bookid TYPE sbook-bookid,

END OF wa,

itab LIKE SORTED TABLE OF wa

WITH UNIQUE KEY carrid connid fldate bookid.

SELECT pcarrid pconnid ffldate bbookid

INTO CORRESPONDING FIELDS OF TABLE itab

FROM ( ( spfli AS p

INNER JOIN sflight AS f ON pcarrid = fcarrid AND

pconnid = fconnid )

INNER JOIN sbook AS b ON bcarrid = fcarrid AND

bconnid = fconnid AND

bfldate = ffldate )

WHERE p~cityfrom = 'FRANKFURT' AND

p~cityto = 'NEW YORK' AND

fseatsmax > fseatsocc.

LOOP AT itab INTO wa.

AT NEW fldate.

WRITE: / wa-carrid, wa-connid, wa-fldate.

ENDAT.

WRITE / wa-bookid.

ENDLOOP.

This example links the columns CARRID, CONNID, FLDATE, and BOOKID of the table SPFLI, SFLIGHT, and SBOOK, and creates a list of booking numbers for all flights from Frankfurt to New York that are not fully booked. An alias name is assigned to each table.

Reward points if it is helpful..

Regards,

Omkar.

5 REPLIES 5
Read only

Former Member
0 Likes
621

Hi

see the code highlighted

SELECT avbelv avbeln baubel bvgbel bcharg bfkimg <b>c~vkorg</b>

FROM vbfa AS a INNER JOIN vbrp AS b

ON avbeln = bvbeln <b>inner join VBRK as c

ON bvbeln = cvbeln</b>

INTO CORRESPONDING FIELDS OF it_vbeln

FOR ALL ENTRIES IN it_report

WHERE avbelv = it_report-vgbel AND<b> cvkorg = '1000' and</b>

a~vbtyp_n = 'M'.

COLLECT it_vbeln.

ENDSELECT.

Reward points if useful

Regards

Anji

Read only

Azeemquadri
Contributor
0 Likes
621

SELECT avbelv avbeln baubel bvgbel bcharg bfkimgc~vbeln

FROM vbfa AS a INNER JOIN vbrp AS b

vbrk as c inner join vbrp as b

ON avbeln = bvbeln

on 'c'~vbeln = 'b' ~vbrp-vbeln,

INTO CORRESPONDING FIELDS OF it_vbeln

FOR ALL ENTRIES IN it_report

WHERE a~vbelv = it_report-vgbel AND

a~vbtyp_n = 'M'.

COLLECT it_vbeln.

ENDSELECT.

Read only

Former Member
0 Likes
621

Hi,

SELECT avbelv avbeln baubel bvgbel bcharg bfkimg

FROM (vbfa AS a INNER JOIN vbrp AS b

ON avbeln = bvbeln) inner join vbrk AS c on cvbeln = bvbeln

INTO CORRESPONDING FIELDS OF it_vbeln

FOR ALL ENTRIES IN it_report

WHERE a~vbelv = it_report-vgbel AND

a~vbtyp_n = 'M'.

COLLECT it_vbeln.

ENDSELECT.

Regards,

Naveen

Read only

Former Member
0 Likes
621

Hi Eliana,

Try this out....

SELECT avbelv avbeln baubel bvgbel bcharg bfkimg

FROM vbfa AS a INNER JOIN vbrp AS b

ON avbeln = bvbeln INNER JOIN c on bvbeln = cvbeln

INTO CORRESPONDING FIELDS OF it_vbeln

FOR ALL ENTRIES IN it_report

WHERE a~vbelv = it_report-vgbel AND

a~vbtyp_n = 'M'.

Get back if you have any queries.

Regards,

Younus

<b>Reward Helpful Answers:-)</b>

Read only

Former Member
0 Likes
622

Hi,

You Can have the select statement like this......

SELECT avbelv avbeln baubel bvgbel bcharg bfkimg

FROM vbrp AS b INNER JOIN vbrk AS c

ON cvbeln = b-vbeln

INNER JOIN

vbfa AS a

ON avbeln = bvbeln

INTO CORRESPONDING FIELDS OF it_vbeln

FOR ALL ENTRIES IN it_report

WHERE a~vbelv = it_report-vgbel AND

a~vbtyp_n = 'M'.

COLLECT it_vbeln.

ENDSELECT.

Check the below sample prog on Inner joins:

REPORT demo_select_inner_join.

DATA: BEGIN OF wa,

carrid TYPE spfli-carrid,

connid TYPE spfli-connid,

fldate TYPE sflight-fldate,

bookid TYPE sbook-bookid,

END OF wa,

itab LIKE SORTED TABLE OF wa

WITH UNIQUE KEY carrid connid fldate bookid.

SELECT pcarrid pconnid ffldate bbookid

INTO CORRESPONDING FIELDS OF TABLE itab

FROM ( ( spfli AS p

INNER JOIN sflight AS f ON pcarrid = fcarrid AND

pconnid = fconnid )

INNER JOIN sbook AS b ON bcarrid = fcarrid AND

bconnid = fconnid AND

bfldate = ffldate )

WHERE p~cityfrom = 'FRANKFURT' AND

p~cityto = 'NEW YORK' AND

fseatsmax > fseatsocc.

LOOP AT itab INTO wa.

AT NEW fldate.

WRITE: / wa-carrid, wa-connid, wa-fldate.

ENDAT.

WRITE / wa-bookid.

ENDLOOP.

This example links the columns CARRID, CONNID, FLDATE, and BOOKID of the table SPFLI, SFLIGHT, and SBOOK, and creates a list of booking numbers for all flights from Frankfurt to New York that are not fully booked. An alias name is assigned to each table.

Reward points if it is helpful..

Regards,

Omkar.