【发布时间】:2015-03-29 20:47:17
【问题描述】:
我目前正在开发一个在表格中搜索一些数据的 php 页面。问题是搜索到的字符串可以在“field1”、“field2”、“field3”或“field4”中。
如何在不使用 4 个 OR 条件的情况下执行此 SQL 查询?
这是我此刻的疑问。
SELECT a_field FROM my_table WHERE LOWER(field1) = 'searched_string' OR LOWER(field2) = 'searched_string' OR LOWER(field3) = 'searched_string' OR LOWER(field4) = 'searched_string'
谢谢
【问题讨论】:
-
您为什么认为这是个问题?您应该动态构建查询,因此您不需要关心查询中“OR”的数量。
-
问题是我以前不知道在哪个字段上应用搜索。这就是我必须搜索所有字段的原因。
-
如果您必须搜索所有字段,那么使用 OR 是正确的方法。我仍然看不到问题所在。我希望您不要手动更改查询?您必须有一些要搜索的字段数组,并动态构建查询。
-
问题是这种查询需要一段时间(满足我们的需要)才能在 100 数百行上执行,我希望找到一种更好/更智能的方法来处理这种需求。
-
没有其他方法可以做到这一点。