Application Development 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: 

Help needed on SQL query...

Former Member
0 Kudos

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.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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

4 REPLIES 4

Former Member
0 Kudos

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

Former Member
0 Kudos

You can only use inner join between two tables. Try usin just JOIN for the third.

Former Member
0 Kudos

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

Former Member
0 Kudos

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