我正在生成以下查询
SELECT * FROM Report WHERE submittedOn >= :minDateFilter
AND submittedOn <= :maxDateFilter AND non_issue = 1 AND
non_issue = 0 ORDER BY submitted
但是,我没有得到任何返回的内容(如果省略AND non_issue = 1 AND
non_issue = 0
,它可以正常工作,或者省略其中一个,但当这两个子句都存在时,不会返回任何内容。
理想情况下,我想保留声明的内容,因为它是动态生成的,我希望能够从同一查询中显示两种类型的报告。
我觉得我的语法可能不正确,但它没有抛出任何错误,有什么建议吗?
答案 0 :(得分:3)
non_issue
在给定行上不能同时具有2个值。我想你想使用OR
:
SELECT * FROM Report WHERE submittedOn >= :minDateFilter
AND submittedOn <= :maxDateFilter AND (non_issue = 1 OR
non_issue = 0) ORDER BY submitted
答案 1 :(得分:1)
您可以使用IN
代替non_issue = 1 AND non_issue = 0
条件。
相同的条目不能non_issue
等于0和1同时。
SELECT *
FROM Report
WHERE submittedOn >= :minDateFilter AND
submittedOn <= :maxDateFilter AND
non_issue IN (0, 1)
ORDER BY submitted