SQL (Multiple If / Not Like) Statements

rhjake23

New Member
Joined
Dec 20, 2017
Messages
26
Hello.
I have the following code. Which I can't get it to work.
All of the code works until I get to the OR statements.
Not sure if I need a case statement or ?
Any input would be much appreciated !
Thanks.

select a.agree_no as agreement_no,
a.um_agree_no as umbrella,
a.agree_class as classification,
a.agree_desc as description,
a.end_dat as enddate,
b.deleted as deleted1
from p_pricing.agreement_renewal_v1 b, p_master.agreement_v1 a
where a.agree_no = b.agree_no
and a.end_dat > '20200624'
and b.deleted is NULL
and a.agree_type IN ('ZDRB', 'ZCRB', 'ZDTI', 'ZCTI', 'ZCTD', 'ZDTD', 'ZDRC')
and a.sales_org_hdr <> '1002'
and a.sales_org_hdr <> '2002'
and a.agree_class ='ZG' and a.agree_desc not like 'GA-%' and a.end_dat > '20200624'
or a.agree_class ='ZC' and a.agree_desc not like 'CA-%' and a.end_dat > '20200624'
or a.agree_class = 'ZP' and a.agree_desc not like 'PA-%' and a.end_dat > '20200624'
or a.agree_class = 'ZMCA' and a.agree_desc not like 'MCA-%' and a.end_dat > '20200624'
group by a.agree_no, a.um_agree_no, a.agree_class, a.agree_desc, a.end_dat, b.deleted
 

Some videos you may like

Excel Facts

Enter current date or time
Ctrl+: enters current time. Ctrl+; enters current date. Use Ctrl+: Ctrl+; Enter for current date & time.

Eric W

MrExcel MVP
Joined
Aug 18, 2015
Messages
9,897
I don't have a way to test this right now, but this appears to be a case where adding some parentheses might help:

select a.agree_no as agreement_no,
a.um_agree_no as umbrella,
a.agree_class as classification,
a.agree_desc as description,
a.end_dat as enddate,
b.deleted as deleted1
from p_pricing.agreement_renewal_v1 b, p_master.agreement_v1 a
where a.agree_no = b.agree_no
and a.end_dat > '20200624'
and b.deleted is NULL
and a.agree_type IN ('ZDRB', 'ZCRB', 'ZDTI', 'ZCTI', 'ZCTD', 'ZDTD', 'ZDRC')
and a.sales_org_hdr <> '1002'
and a.sales_org_hdr <> '2002'
and ((a.agree_class ='ZG' and a.agree_desc not like 'GA-%' and a.end_dat > '20200624')
or (a.agree_class ='ZC' and a.agree_desc not like 'CA-%' and a.end_dat > '20200624')
or (a.agree_class = 'ZP' and a.agree_desc not like 'PA-%' and a.end_dat > '20200624')
or (a.agree_class = 'ZMCA' and a.agree_desc not like 'MCA-%' and a.end_dat > '20200624'))
group by a.agree_no, a.um_agree_no, a.agree_class, a.agree_desc, a.end_dat, b.deleted
 

Watch MrExcel Video

Forum statistics

Threads
1,102,117
Messages
5,484,833
Members
407,469
Latest member
moshea

This Week's Hot Topics

  • Finding issue in If elseif else with For each Loop
    Finding issue in If elseif else with For each Loop I have tried this below code but i'm getting in Y column filled with W005. Colud you please...
  • MsgBox Error
    Hi Guys, I have the below error show up when i try and run my macro in File1 but works fine if i copy and paste the same code into file2. [ATTACH...
  • CELL FORMAT - IF CONDITION
    My Cell Format is [B]""0.00" Cr". [/B]But in the cell, it is showing 123.00 for editing. (123 is entry figure). (Data imported from other...
  • Show numbers nearly the same
    Is this possible. I have a number that can change very time eg 0.00001234 Then I have a lot of numbers 0.0000001, 0.0000002, 0.00000004...
  • Please i need your help to create formula
    I need a formula in cell B8 to do this >>if b1=1 then multiply ( cell b8) by 10% ,if b1=2 multiply by 20%,if=3 multiply by 30%. Thank you in...
  • Got error while adding column and filter
    Got error while adding column and filter In column Z has some like "Success" and "Error". I want to add column in AA if the Z cell value is...
Top