在这个小提琴示例中我试图使用WHERE o.d_id = 1或2,3,4等但是如果我使用d_id = 0它应该显示总结果或者我们可以说如果d_id =则where子句不应该起作用0
答案 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
的行。如果您希望数据库返回所有值,则必须完全跳过此条件