MYSQL WHERE id = 0它应该显示总结果

时间:2017-12-17 13:36:15

标签: mysql

SQLFiddle

在这个小提琴示例中我试图使用WHERE o.d_id = 1或2,3,4等但是如果我使用d_id = 0它应该显示总结果或者我们可以说如果d_id =则where子句不应该起作用0

2 个答案:

答案 0 :(得分:2)

您可以像这样执行条件样式WHERE子句....

 WHERE (?inputvalue = 0 OR ?inputvalue = d_id)

在这种情况下,输入值是您想要的任何搜索词。您将使用您的编程语言提供它。

编辑请注意,在许多查询中,您只需指定一次输入值即可。例如,如果您想要的只是WHERE d_id = 17,那么很容易指定。你只需要输入17就可以了。

但是,如果你按照我的建议,你需要重复输入值。您需要WHERE (0 = 17 OR d_id = 17)。这样,当你给它17时,过滤你的结果集来找到七个。

而且,如果你给它0,就像这个WHERE ( 0 = 0 OR d_id = 0 )一样,它会找到所有结果,而不仅仅是过零。这很好,因为没有任何零。

答案 1 :(得分:0)

可能不是WHERE的工作方式。如果您编写WHERE id = 0之类的语句,则要求数据库仅返回id列设置为0的行。如果您希望数据库返回所有值,则必须完全跳过此条件