11-14-2005 4:56 PM
Hi,
I have the following SQL statement...I want to know how do I join table 1 to table 2 and table 1 to table 3 when
mseg is table 1
mkpf is table 2
zmigo_extend is table 3
The below statment is syntactically wrong..Please give me the correct way to right the INNER join between 3 tables...
SELECT amatnr awerks agpla awart
amenge admbtr bbudat ctxjcd INTO TABLE
migo_data
FROM mseg AS a INNER JOIN mkpf AS b ON amblnr = bmblnr zmigo_extend AS c INNER JOIN ON amblnr = cmblnr
WHERE a~matnr IN so_matnr
AND b~budat IN so_budat
AND a~werks IN so_werks
AND a~lgpla IN so_lgpla
AND a~bwart IN so_bwart
AND c~txjcd IN so_txjcd.
11-14-2005 5:03 PM
SELECT amatnr awerks agpla awart
amenge admbtr bbudat ctxjcd INTO TABLE
migo_data
FROM mseg AS a INNER JOIN mkpf AS b ON amblnr = bmblnr INNER JOIN zmigo_extend AS c ON amblnr = cmblnr
WHERE a~matnr IN so_matnr
AND b~budat IN so_budat
AND a~werks IN so_werks
AND a~lgpla IN so_lgpla
AND a~bwart IN so_bwart
AND c~txjcd IN so_txjcd.
Check this one
Cheers,
Satya
11-14-2005 5:03 PM
SELECT amatnr awerks agpla awart
amenge admbtr bbudat ctxjcd INTO TABLE
migo_data
FROM mseg AS a INNER JOIN mkpf AS b ON amblnr = bmblnr INNER JOIN zmigo_extend AS c ON amblnr = cmblnr
WHERE a~matnr IN so_matnr
AND b~budat IN so_budat
AND a~werks IN so_werks
AND a~lgpla IN so_lgpla
AND a~bwart IN so_bwart
AND c~txjcd IN so_txjcd.
Check this one
Cheers,
Satya
11-14-2005 5:05 PM
You can only use inner join between two tables. Try usin just JOIN for the third.
11-14-2005 5:07 PM
Rad,
Sample:
SELECT pcarrid pconnid ffldate bbookid
INTO CORRESPONDING FIELDS OF TABLE itab
FROM <b>( ( 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 )</b>
WHERE p~cityfrom = 'FRANKFURT' AND
p~cityto = 'NEW YORK' AND
fseatsmax > fseatsocc.
Have a llok at this Link:
http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb39c4358411d1829f0000e829fbfe/frameset.htm
So Ur Code:
SELECT amatnr awerks agpla awart
amenge admbtr bbudat ctxjcd
INTO TABLE migo_data
FROM <b>((mseg AS a
INNER JOIN mkpf AS b ON amblnr = bmblnr)
INNER JOIN zmigo_extend AS c ON amblnr = cmblnr)</b>
WHERE a~matnr IN so_matnr
AND b~budat IN so_budat
AND a~werks IN so_werks
AND a~lgpla IN so_lgpla
AND a~bwart IN so_bwart
AND c~txjcd IN so_txjcd.
Thanks
Kam
Note: Allot points for all worthful postings
Message was edited by: Kam
11-14-2005 5:58 PM
Hi,
I am not sure whether you copy pasted the same code what you have in your program, I observed the following in your query.
1. While selecting the fields from mseg you specified agpla and awart, I think you are looking for the fields algpla and abwart.
2. While joining the third table the keyword INNER JOIN is used after the table name (zmigo_extend AS c INNER JOIN ON), which is incorrect.
Change your select as follows.
SELECT amatnr awerks algpla abwart
amenge admbtr bbudat ctxjcd
INTO TABLE migo_data
FROM mseg AS a
INNER JOIN mkpf AS b
ON amblnr = bmblnr
INNER JOIN zmigo_extend AS c
ON amblnr = cmblnr
WHERE a~matnr IN so_matnr
AND b~budat IN so_budat
AND a~werks IN so_werks
AND a~lgpla IN so_lgpla
AND a~bwart IN so_bwart
AND c~txjcd IN so_txjcd.
Thanks
Giridhar
Message was edited by: Giridhar Nayudu