【发布时间】:2011-06-13 19:45:05
【问题描述】:
我有一个名字和姓氏的表格。
我正在尝试对输入进行 jQuery 即时搜索,以便在庞大的人员列表中快速准确地找到一个人。
在输入中输入第一个单词时,它可能是名字或姓氏。
我这样做:SELECT * FROM myTable WHERE firstName LIKE %content% OR lastName LIKE %content%
当输入两个单词时,它可能是: * 完整的名字和一些姓氏 * 完整的姓氏和一些名字
所以我尝试了这个查询:SELECT * FROM myTable WHERE (firstName = content1 AND lastName LIKE %content2%) OR ( lastName = content1 AND firstName LIKE %content2%)
可惜括号好像什么都没做,而且查询不是这样解释的,我得到了很多结果,基本上是由两个LIKE %% 条件产生的
以前有人处理过这个问题并且可以帮帮我吗?
感谢
【问题讨论】:
-
只是为了澄清-在您的第二个查询中, content 和 %content% 实际上代表不同的字符串,对吗?所以,你不是在做 firstName = 'John Sm' AND lastName LIKE '%John Sm%',而是 firstname = 'John' AND lastName LIKE '%Sm%'?
-
你的意思是
SELECT * FROM myTable WHERE (firstName = content1 AND lastName LIKE %content2%) OR ( lastName = content2 AND firstName LIKE %content1%)? -
是的,我的错误。正上方。我已经编辑了我的问题
标签: php sql mysql conditional-statements