2009 Mar 06 6:07 AM
i was microsft sql 2000 user.
where is use join like this
select max(Date) from Table1 , table2
where table1.field = abc
and table2.field = table1.field.
but in abap it says santax error like comma with select???
Hi,
Insted of inner join go for For all entries. It is reduces DB trafic and better performance.
Regards
Md.MahaboobKhan
2009 Mar 06 6:12 AM
use this syntax:
select table1fieldA table2fieldB
from table1 inner join table 2
on table1-field1 = table2-field1
where filed2 = ....
2009 Mar 06 6:14 AM
Hi,
Abap query differs in syntax.
Ex:
SELECT max( Table1~Date )
INTO CORRESPONDING FIELDS OF TABLE itab
FROM Table1 INNER JOIN Table2
ON Table1field = Table2field
WHERE Table1~field = 'abc'.
See F1 help on inner join.
Thanks..
2009 Mar 06 6:14 AM
Hi,
In abap iner joins are keep in follwoing way:
select * from table1 inner join table2 on table1field1 = table2field2.
For max value
SELECT max( Table1~Field2 )
INTO CORRESPONDING FIELDS OF TABLlE tmp
FROM Table1 INNER JOIN Table2
ON Table1field1 = Table2field1
WHERE Table1~field1 = 'abc'.
tmp is internal table
To knwo more about jojns example look at the link below:
http://www.sap-img.com/abap/inner-joins.htm
Thanks,
Smita
Edited by: Smita Gupta on Mar 6, 2009 7:15 AM
2009 Mar 06 6:16 AM
Hi,
Use like:-
data : v_date type table2-date.
select
max( table2~date)
into v_date "date variable
from table1
inner join table2
on table1~field1 = table2~field1
where
table1~field = 'ABC'.
Hope this helps you.
Regards,
Tarun
2009 Mar 06 6:17 AM
Hi,
Insted of inner join go for For all entries. It is reduces DB trafic and better performance.
Regards
Md.MahaboobKhan
2009 Mar 06 6:18 AM
write as :
select max( Date ) into v_date
from Table1
inner join table2
on table1field = table2field
where table1~field = 'abc'
and table1field = table2field.
2009 Mar 06 6:20 AM
Hi Ahmed,
Just write 'Inner join' and press F1 in the abap edition (SE38), you will get the syntax for inner join.
With luck,
Pritam.
2009 Mar 06 6:21 AM
HI
here i am giving inner join sample code for if we join 3 tables please check and correct for you question
Select single VbrkBukrs VbrkKunrg Vbrk~Vbeln
VbrkFkdat VbrkBstnk_Vf Vbrk~Zterm
Tvzbt~Vtext
VbakVbeln VbakBstdk
LikpVbeln Likplfdat Likp~Lfuhr
into w_vbrk
from vbrk
inner join Tvzbt on TvzbtZterm = VbrkZterm and
Tvzbt~Spras = sy-langu
Inner join Vbfa as SalesLnk
on SalesLnk~vbeln = pu_vbeln and
SalesLnk~vbtyp_v = c_order
inner join Vbak on VbakVbeln = SalesLnkVbelv
Inner join Vbfa as DeliveryLnk
on DeliveryLnk~vbeln = pu_vbeln and
DeliveryLnk~vbtyp_v = c_Delivery
inner join Likp on LikpVbeln = DeliveryLnkVbelv
where vbrk~vbeln = pu_Vbeln.
Thanks and regards
Durga.K
2009 Mar 06 6:22 AM
Hi Harris,
Syntax for Inner Join as well as simple Select query is different in ABAP.
Syntax :
Select .<Field List with tabaliase>...
from [(] {dbtab_left [AS tabalias_left]} | join
{[INNER] JOIN}|{LEFT [OUTER] JOIN}
{dbtab_right [AS tabalias_right] ON join_cond} [)] ... .
e.g:
SELECT c~carrname p~connid f~fldate
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( scarr AS c
INNER JOIN spfli AS p ON p~carrid = c~carrid
AND p~cityfrom = p_cityfr
AND p~cityto = p_cityto )
INNER JOIN sflight AS f ON f~carrid = p~carrid
AND f~connid = p~connid ). There is lot's of information already available in this forum which you can search.
U can also use transaction ABAPDOCU to learn these statements.
reg
Ashwani
2009 Mar 06 6:53 AM
Hi ,
Abap syntex is diffrent bcz it is open sql.
so use f1 help for syntex and abapdocu for sample programs.
use like this.......
SELECT max( Tab1~Date )
INTO CORRESPONDING FIELDS OF TABLE it_tab
FROM Tab1 INNER JOIN Tab2
ON Tab1field = Tab2field
WHERE Tab1~field = 'xyz'.
| User | Count |
|---|---|
| 5 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |