Sql php 2 table's match


Sql php 2 table's match

嗨,我需要products.name whit a=before在alternates productsmap表中的结果。

products.name是varchar 255,示例结果是

Haven

productsmap.alternates是一个文本,示例结果是

=Havens go
=Haven 1
=Haven

这是一层

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

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'