我想实现类似自动完成的搜索。我有两个表,Location 和 SubLocation。
我只想为这个 like 返回一个字段。这是我的查询
SELECT l.loc_name,sl.sub_loc FROM Location l,SubLocation sl
where l.loc_name LIKE '$term%' OR sl.sub_loc='$term%'
我想将两个表的匹配结果显示为一个返回值。EG,如果我键入 D,那么我可以从第一个表中查看迪拜,从第二个表中查看 DubaiMarina 作为一个列
最佳答案
你可以使用UNION
SELECT l.loc_name FROM Location l
where l.loc_name LIKE '$term%'
UNION
SELECT sl.sub_loc FROM SubLocation sl
where sl.sub_loc='$term%'
如果表没有重复项,您可以将 UNION
替换为 UNION ALL
因为 union all 选项不会查找重复项,它可能会更快一些,具体取决于关于查询返回的数据量。
关于mysql - 在 mysql LIKE 中将两个表中的两个字段显示为一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18686834/