‎2007 Jun 06 7:38 AM
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.
‎2007 Jun 06 7:55 AM
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.
‎2007 Jun 06 7:41 AM
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
‎2007 Jun 06 7:41 AM
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.
‎2007 Jun 06 7:42 AM
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
‎2007 Jun 06 7:44 AM
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>
‎2007 Jun 06 7:55 AM
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.