我想写一段SQL代码,它将带回来所有的销售交易号码,其中有2个特定的项目,我输入。我就是不能把东西的部分弄好。
SELECT *
FROM [mastertable] TSE
WHERE TSE.Date BETWEEN '20160101' AND '20160501'
AND TSE.[Store No_] = '####'
AND TSE.[Item No_] = '133033'
AND TSE.[Item No_] = '144086`
有什么建议吗?
最佳答案
试一试吧;
SELECT *
FROM [mastertable] TSE
WHERE TSE.Date BETWEEN '20160101' AND '20160501'
AND TSE.[Store No_] = '####'
AND (TSE.[Item No_] = '133033'
OR TSE.[Item No_] = '144086`)
您的代码不起作用的原因是,项目不需要同时是113033和144086,您希望它是其中之一。你也可以更新如下;
AND TSE.[Item No_] IN ('133033','144086')
尽管这将以同样的方式得到优化。
阅读你的回复,提到你的项目编号应该包含这两个数字中的任何一个,这是你追求的吗?
SELECT *
FROM [mastertable] TSE
WHERE TSE.Date BETWEEN '20160101' AND '20160501'
AND TSE.[Store No_] = '####'
AND TSE.[Item No_] LIKE '%133033%'
and TSE.[Item No_] LIKE '%144086%')
关于mysql - SQL-带2个特定项目的AND/OR取回销售交易,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37294244/