我试图在SQL中使用或声明,但它没有产生我想要的结果。
这里我想扩展代码,使它们成为0012或0005,其余条件相同。这是我想要修改的代码,我刚刚添加了第二行,但它没有得到我想要的。
WHERE pr.code = '0005'
OR pr.code = '0012'
AND p.effdate > '2/8/2017'
AND p.pnum not like 'R%'
AND p.status like '6'
答案 0 :(得分:4)
您需要添加括号:
WHERE (pr.code = '0005' OR pr.code = '0012')
AND p.effdate > '2/8/2017'
AND p.pnum not like 'R%'
AND p.status like '6'
在这种情况下,正如@MiloBellano在答案中提到的那样,您可以使用IN
运算符来防止此类错误:
WHERE pr.code IN ('0005', '0012')
AND p.effdate > '2/8/2017'
AND p.pnum not like 'R%'
AND p.status like '6'
答案 1 :(得分:1)
一个词:括号
(额外的话使帖子足够长)
答案 2 :(得分:1)
WHERE (pr.code = '0005'
OR pr.code = '0012')
AND p.effdate > '2/8/2017'
AND p.pnum not like 'R%'
AND p.status like '6'
但我认为
pr.code in ('0005','0012')
AND p.effdate > '2/8/2017'
AND p.pnum not like 'R%'
AND p.status like '6'
看起来更好,可能更快
答案 3 :(得分:0)
WHERE (pr.code = '0005'
OR pr.code = '0012')
AND p.effdate > '2/8/2017'
AND p.pnum not like 'R%'
AND p.status like '6'