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

Problem with a select statement? (and, or)

Former Member
0 Likes
663

SELECT pa0000pernr pa0001pernr pa0000~stat2

pa0001sname pa0001orgeh pa0001~bukrs

Pa0001~plans

INTO CORRESPONDING FIELDS OF TABLE ipos

FROM pa0001

INNER JOIN pa0000

ON pa0000pernr = pa0001pernr

WHERE pa0001~PLANS EQ '99999999'

AND pa0000~stat2 EQ '3'

AND pa0001~VDSK1 EQ 'IT'

AND pa0001~PERSG EQ '1'

OR pa0001~PERSG EQ 'T'

AND pa0001~bukrs EQ 'FR46'

OR pa0001~bukrs EQ 'GB21'

OR pa0001~bukrs EQ 'PL05'

OR pa0001~bukrs EQ 'BE06'

OR pa0001~bukrs EQ 'US22'

It seems like i cant have other <b>AND</b> statements after i have had a <b>OR</b> statement. Should i use () somehow?

Or do I need to put the values in a table and select for all entries in?

1 ACCEPTED SOLUTION
Read only

jayanthi_jayaraman
Active Contributor
0 Likes
631

Hi,

SELECT pa0000pernr pa0001pernr pa0000~stat2

pa0001sname pa0001orgeh pa0001~bukrs

Pa0001~plans

INTO CORRESPONDING FIELDS OF TABLE ipos

FROM pa0001

INNER JOIN pa0000

ON pa0000pernr = pa0001pernr

WHERE pa0001~PLANS EQ '99999999'

AND pa0000~stat2 EQ '3'

AND pa0001~VDSK1 EQ 'IT'

AND ( pa0001~PERSG EQ '1'

OR pa0001~PERSG EQ 'T' )

AND ( pa0001~bukrs EQ 'FR46'

OR pa0001~bukrs EQ 'GB21'

OR pa0001~bukrs EQ 'PL05'

OR pa0001~bukrs EQ 'BE06'

OR pa0001~bukrs EQ 'US22' ).

Kindly reward points by clicking the star on the left of reply,if it helps.

5 REPLIES 5
Read only

jayanthi_jayaraman
Active Contributor
0 Likes
632

Hi,

SELECT pa0000pernr pa0001pernr pa0000~stat2

pa0001sname pa0001orgeh pa0001~bukrs

Pa0001~plans

INTO CORRESPONDING FIELDS OF TABLE ipos

FROM pa0001

INNER JOIN pa0000

ON pa0000pernr = pa0001pernr

WHERE pa0001~PLANS EQ '99999999'

AND pa0000~stat2 EQ '3'

AND pa0001~VDSK1 EQ 'IT'

AND ( pa0001~PERSG EQ '1'

OR pa0001~PERSG EQ 'T' )

AND ( pa0001~bukrs EQ 'FR46'

OR pa0001~bukrs EQ 'GB21'

OR pa0001~bukrs EQ 'PL05'

OR pa0001~bukrs EQ 'BE06'

OR pa0001~bukrs EQ 'US22' ).

Kindly reward points by clicking the star on the left of reply,if it helps.

Read only

Former Member
0 Likes
631

Try the following

WHERE pa0001~PLANS EQ '99999999'

AND pa0000~stat2 EQ '3'

AND pa0001~VDSK1 EQ 'IT'

AND ( pa0001~PERSG EQ '1'

OR pa0001~PERSG EQ 'T' )

AND ( pa0001~bukrs EQ 'FR46'

OR pa0001~bukrs EQ 'GB21'

OR pa0001~bukrs EQ 'PL05'

OR pa0001~bukrs EQ 'BE06'

OR pa0001~bukrs EQ 'US22' ).

Read only

Former Member
0 Likes
631

Thank you that solved my problem.

/ Claes

Read only

Former Member
0 Likes
631

SELECT pa0000pernr pa0001pernr pa0000~stat2

pa0001sname pa0001orgeh pa0001~bukrs

Pa0001~plans

INTO CORRESPONDING FIELDS OF TABLE ipos

FROM pa0001

INNER JOIN pa0000

ON pa0000pernr = pa0001pernr

WHERE pa0001~PLANS EQ '99999999'

AND pa0000~stat2 EQ '3'

AND pa0001~VDSK1 EQ 'IT'

AND ( pa0001~PERSG EQ '1'

OR pa0001~PERSG EQ 'T' )

AND ( pa0001~bukrs EQ 'FR46'

OR pa0001~bukrs EQ 'GB21'

OR pa0001~bukrs EQ 'PL05'

OR pa0001~bukrs EQ 'BE06'

OR pa0001~bukrs EQ 'US22')

=================================(Better way)

Fill the ranges for persg & bukrs

r_persg-sign = 'I'.

r_persg-option = 'EQ'.

r_persg-low = '1'.

append r_persg.

r_persg-low = 'T'.

append r_persg.

r_bukrs-sign = 'I'.

r_bukrs-option = 'EQ'.

r_bukrs-low = 'FR46'.

append r_bukrs.

r_bukrs-low = 'GB21'.

append r_bukrs.

r_bukrs-low = 'PL05'.

append r_bukrs.

r_bukrs-low = 'BE06'.

append r_bukrs.

r_bukrs-low = 'US22'.

append r_bukrs.

SELECT pa0000pernr pa0001pernr pa0000~stat2

pa0001sname pa0001orgeh pa0001~bukrs

Pa0001~plans

INTO CORRESPONDING FIELDS OF TABLE ipos

FROM pa0001

INNER JOIN pa0000

ON pa0000pernr = pa0001pernr

WHERE pa0001~PLANS EQ '99999999'

AND pa0000~stat2 EQ '3'

AND pa0001~VDSK1 EQ 'IT'

AND pa0001~PERSG in r_persg

AND pa0001~bukrs in r_bukrs.

Read only

Former Member
0 Likes
631

SELECT pa0000pernr pa0001pernr pa0000~stat2

pa0001sname pa0001orgeh pa0001~bukrs

Pa0001~plans

INTO CORRESPONDING FIELDS OF TABLE ipos

FROM pa0001

INNER JOIN pa0000

ON pa0000pernr = pa0001pernr

WHERE pa0001~PLANS EQ '99999999'

AND pa0000~stat2 EQ '3'

AND pa0001~VDSK1 EQ 'IT'

AND pa0001~PERSG in( '1','T')

AND pa0001~bukrs EQ ('FR46','GB21','PL05','BE06','US22');

Y don't u try this..

It works..

Regards

Naga..