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

inner join condition

Former Member
0 Likes
1,484

actuall i knew how to club the two database tables using innerjoin.

ther conditios is

select--


fields----- into itab from (dtab) inner join (dtab)

on condition

where so and so---

the thing is that i need to add another table data(database table).what is the code and syntax.

please reply with example in detail.thanku.

6 REPLIES 6
Read only

former_member386202
Active Contributor
0 Likes
888

Hi,

Better to use FOR ALL ENTRIES, dont use inner join.

refer below code

&----


*& Form sub_read_mara *

&----


  • This form will Select the material number material type material *

  • group & batch management indicator from table mara using given *

  • material number *

----


FORM sub_read_mara .

*--Select query to pick the material number material group material type

  • and batch management from table MARA

SELECT matnr "Material Number

mtart "Material Type

matkl "Material Group

xchpf "Batch Management

FROM mara "Material Master

INTO TABLE i_mara

WHERE matnr IN s_matnr

AND mtart IN s_mtart

AND matkl IN s_matkl .

*--Check Subrc

IF sy-subrc <> 0.

*--No data found for the given selection criteria.

MESSAGE i001.

LEAVE TO LIST-PROCESSING.

ELSE.

*--Sort table by Material Number

SORT i_mara BY matnr.

ENDIF.

ENDFORM. "sub_read_mara

&----


*& Form sub_read_marc *

&----


  • This form will Select the material number plant purchasing group & *

  • MRP controller from table MARC using given material number plant & *

  • purchasing group. *

----


FORM sub_read_marc .

IF NOT i_mara[] IS INITIAL.

*--Select query to pick the material number plant purchasing group &

  • MRP controller from table MARC

SELECT matnr "Material Number

werks "Plant

ekgrp "Purchasing Group

dispo "MRP Controller

FROM marc "Material Master

INTO TABLE i_marc

FOR ALL ENTRIES IN i_mara

WHERE matnr = i_mara-matnr

AND werks IN s_werks

AND ekgrp IN s_ekgrp

AND dispo IN s_dispo.

*--Check Subrc

IF sy-subrc <> 0.

MESSAGE i001.

LEAVE TO LIST-PROCESSING.

ELSE.

*--Sort table by Material Number Plant

SORT i_marc BY matnr werks.

ENDIF.

ENDIF.

ENDFORM. "sub_read_marc

Regards,

Prashant

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
888

Check inner join Docs ...

select Maramatnr marcwerks maktmaktx T001wname1 into table itab

from mara inner join marc

on maramatnr = marcmatnr

inner join T001w on marcwerks = T001wwerks

inner join mard on mardmatnr = marcmatnr

where mara~mtart = 'FERT'

and marc~werks = '100'

and makt~spras = sy-langu...

some thing like this.......

Read only

Former Member
0 Likes
888

Hi,

Hope the following Threads will help you regarding your problem(Just go through this post)

check the code below

SELECT ekko~ebeln

ekpoebelp ekkolifnr

ekbezekkn ekbegjahr ekbebelnr ekbebuzei

lfa1~name1

lfb1~ernam

ekknsakto ekkngsber ekkn~kostl

INTO TABLE po_int

FROM ekko

JOIN ekpo ON ekpoebeln = ekkoebeln

JOIN lfa1 ON lfa1lifnr = ekkolifnr

JOIN ekbe ON ekbeebeln = ekpoebeln

AND ekbeebelp = ekpoebelp

JOIN lfb1 ON lfb1lifnr = ekkolifnr

JOIN ekkn ON ekknebeln = ekpoebeln

AND ekknebelp = ekpoebelp

WHERE ekko~aedat IN s_aedat

AND ekbe~bwart = '101'

AND lfb1~bukrs = p_bukrs.

Thanks.

Nitesh

Edited by: Nitesh Kumar on Nov 13, 2008 12:21 PM

Read only

Former Member
0 Likes
888

SELECT a~pabnum

a~werks " Plant

a~lifnr " Supplier

a~pabprf " JIT call profile

a~pabnpl " Output partner for JIT call

a~pabzpk " Time for a JIT call

a~pabdkz " Message: JIT call edited

a~ekorg " Purchasing organization

b~pabpos " JIT call item

b~matnr " Material number

b~pabmng " JIT call quantity

b~meins " Base unit of measure

b~ebeln " Agreement number

b~ebelp " Agreement item

b~ablad " Unloading point

b~prvbe " Supply area

b~pabtim " Time for a JIT call

b~pabwef " Goods receipt flag for JIT call

b~pabwem " Goods receipt qty for JIT call

INTO TABLE itab_jit_call

FROM pabhd AS a

INNER JOIN pabit AS b

ON bpabnum EQ apabnum

WHERE a~werks IN s_werks

AND a~lifnr IN s_lifnr

AND a~pabdkz IN s_pabdkz

AND b~matnr IN s_matnr

AND b~prvbe IN s_prvbe

AND b~pabwef IN s_pabwef

AND b~ablad IN s_uablad.

IF sy-subrc EQ 0.

Read only

Former Member
0 Likes
888

Example : As you have asked for

SELECT single vbap~matkl into V3

from ( ( VBAP inner join VBFA

ON vbap-vbeln = vbfa-vbelp )

inner join LIPS

on LIPSPOSNR = VBFAPOSNN

and vbapvbeln = vbfavbelv

and vbapposnr = vbfaposnv )

where LIPSVBELN = VBFAVBELN = '0080000834'

and vbfa~vbtyp_n = 'J'

and LIPS~J_3ASIZE = '0884'.

Read only

Former Member
0 Likes
888

hi,

check this:


*&---------------------------------------------------------------------*
*& Report  ZDAVID_SELECT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZDAVID_SELECT.
tables: zdavid_emp, zdavid_dep,zdavid_detail.

types: begin of info,
  zemp_id(10) type c,
  zemp_dep(10) type c,
  zemp_dname(10) type c,
  end of info.

types: emp_info type table of info.

data: emp type emp_info,
      wa like line of emp.

start-of-selection.
  select *  into corresponding fields of wa
    from zdavid_emp as a inner join zdavid_dep as b
    on a~zemp_id = b~zemp_id
    inner join zdavid_detail as c
    on b~zemp_dep = c~zemp_dep.
    write: / wa-zemp_id, wa-zemp_dep, wa-zemp_dname.
    endselect.