将两个表中的两个字段显示为mysql中的一个字段,如
我想实现类似自动完成的搜索。我有两个表,位置和子位置 我只想为这个类返回一个字段。这是我的查询将两个表中的两个字段显示为mysql中的一个字段,如,mysql,select,sql-like,Mysql,Select,Sql Like,我想实现类似自动完成的搜索。我有两个表,位置和子位置 我只想为这个类返回一个字段。这是我的查询 SELECT l.loc_name,sl.sub_loc FROM Location l,SubLocation sl where l.loc_name LIKE '$term%' OR sl.sub_loc='$term%' 我想将两个表中的匹配结果显示为一个返回值。例如,如果我键入D,那么我可以将第一个表中的Dubai和第二个表中的DubaiMarina作为一个列查看 SELECT l.lo
SELECT l.loc_name,sl.sub_loc FROM Location l,SubLocation sl
where l.loc_name LIKE '$term%' OR sl.sub_loc='$term%'
我想将两个表中的匹配结果显示为一个返回值。例如,如果我键入D,那么我可以将第一个表中的Dubai和第二个表中的DubaiMarina作为一个列查看
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选项不会查找重复项,因此速度可能会稍快一些,具体取决于查询返回的数据量 您可以使用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选项不会查找重复项,因此速度可能会稍快一些,具体取决于查询返回的数据量 不…我不需要连接它…我想做它的自动完成…我想建议用户他的位置或子位置,而他们键入任何东西,但为什么'码头'为D?现在看到它..这是迪拜码头..对不起,键入错误不..我不需要连接它…我想做它的自动完成…我想建议用户他的位置或子位置虽然他们键入了任何东西,但为什么要用“Marina”来表示D呢?现在就看吧。这是迪拜码头。遗憾的是,键入错误。这个名字太贵了,而且搜索时间太长了records@Methew:如果这对您来说太慢,您也可以使用。使用UNION ALL
怎么样?@m请问UNION有多贵?您是否遗漏了问题中的任何信息?取决于您的选项。如果有多个查询提供相同的结果,则可以查看performance.UNION的成本太高,搜索太多查询需要花费时间records@Methew:如果这对您来说太慢,您也可以使用。使用UNION ALL
怎么样?@m请问UNION有多贵?您是否遗漏了问题中的任何信息?取决于您的选项。如果有多个查询给出相同的结果,那么可以查看性能。