MySQL Where子句相同的键两次为两个单独的值

时间:2016-07-13 14:07:16

标签: mysql

我正在生成以下查询

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,它可以正常工作,或者省略其中一个,但当这两个子句都存在时,不会返回任何内容。

理想情况下,我想保留声明的内容,因为它是动态生成的,我希望能够从同一查询中显示两种类型的报告。

我觉得我的语法可能不正确,但它没有抛出任何错误,有什么建议吗?

2 个答案:

答案 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