我有一张名字和姓氏的表。SQL条件:(A = B AND C LIKE%D%)或(A LIKE%B%和C = D)
我想在输入上做一个jQuery即时搜索,以便在一个庞大的人员列表中快速而准确地找到一个人。
当输入第一个单词时,它可能是名字或姓氏。
我这样做:SELECT * FROM myTable WHERE firstName LIKE %content% OR lastName LIKE %content%
当输入两个词,它可能是: *完整的名字,有点姓氏 *完整的姓氏和位firstame的
左右我想这个查询:SELECT * FROM myTable WHERE (firstName = content1 AND lastName LIKE %content2%) OR (lastName = content1 AND firstName LIKE %content2%)
不幸的是括号似乎什么也不做,并且查询不这样理解,我已经得到了很多结果,基本上由两个LIKE %%条件产生
以前有人曾经处理过这件事,可以帮我一把吗?
感谢名单
只是为了澄清 - 在你的第二个查询,内容和百分含量%,实际上是代表不同的字符串,对不对?所以,你没有做firstName ='John Sm'和lastName LIKE'%John Sm%',而是firstname ='John'和lastName LIKE'%Sm%'? – 2011-01-22 21:10:11
您的意思是`SELECT * FROM myTable WHERE(firstName = content1 AND lastName LIKE%content2%)OR(lastName = content2 AND firstName LIKE%content1%)`? – 2011-01-22 21:11:05
是的,我的错误。正上方。我编辑了我的问题 – guillaumepotier 2011-01-22 21:22:21