嗨,我需要备用产品地图表中的products.name whit a = before的结果。

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'

关于php - SQL PHP 2表的匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17260428/

10-13 06:42