我有一个SQL查询,它使用来自html下拉表单的WHERE过滤器。每个下拉过滤器都有一个空白'我想表达的选项"不要过滤"。
我第一次尝试完成此操作是使用if语句将WHERE语句附加到我的查询中,这样如果过滤器设置为“空白”,它就不会附加WHERE子句所有。问题是,如果我使用令牌进行准备好的查询,我会得到一个不可预测的令牌数量,如果任何过滤器被设置为“空白”,则会发出警告警告。 (因为现在我的查询中缺少令牌)。
是否有一种更简单的方法可以让空白'告诉SQL什么都不过滤?
答案 0 :(得分:1)
WHERE
是SQL中的过滤子句。如果您不想过滤,则只需省略WHERE
条款。
SELECT * FROM table
还可以指定一个始终为true的条件(如果使用PhpMyAdmin,它是SQL选项卡中的默认行为)。
SELECT * FROM table WHERE 1
答案 1 :(得分:0)
从表格中选择*(@filter ='空白'或"您的声明在这里")