SQLPHP2表的匹配

SQLPHP2表的匹配,php,mysql,sql,Php,Mysql,Sql,您好,我需要products.name whit a=before位于alternates productsmap表中的结果 products.name是一个varchar 255,示例结果为 Haven =Havens go =Haven 1 =Haven productsmap.alternates是一个文本,示例结果是 Haven =Havens go =Haven 1 =Haven 这是一个cel 我在下面试过,但我没有得到任何结果,因为我知道我必须得到一个结果 SELECT D

您好,我需要products.name whit a=before位于alternates productsmap表中的结果

products.name是一个varchar 255,示例结果为

Haven
=Havens go
=Haven 1
=Haven
productsmap.alternates是一个文本,示例结果是

Haven
=Havens go
=Haven 1
=Haven
这是一个cel

我在下面试过,但我没有得到任何结果,因为我知道我必须得到一个结果

SELECT DISTINCT products.name 
FROM products 
WHERE CONCAT('=',products.name) in (select alternates from productsmap)

此查询需要1分钟,并给出0行

两个表之间的模糊链接可以得到改善。例如,此映射表的性能会更好:

ProductName     Alternative
Haven           Havens go
Haven           Haven 1
Haven           Haven
要查询“Havens go”的当前表格布局,您可以:

select  distinct p.name 
from    products p
join    productsmap pm
on      pm.alternative like '=' + p.name + '%'
where   pm.alternative = '=Havens go'

谢谢你的回答。我的sql SKLIK不是很好,但我要做的是从productsmap alternates单元格中的products.name获取所有结果。我无法更改当前数据库,因为它被更多人使用。对于所有匹配的行,请完全删除where子句