php - SQL PHP 2表的匹配

标签 php mysql sql

您好,我需要 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'

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

相关文章:

mysql - BLOB 或带有文本数据的规范化数据库?

mysql - SQL 查询改进 - 仅当 A>B 时才选择 X,其中 A 和 B 值在变量的范围内

sql - MS SQL-用户定义函数-斜率截取RSquare;如何按投资组合分组

php - 在 PHP 和 MySQL 中使用事务

php - 如何修复PHP中的“ header 已发送”错误

php - 函数加密AES-256-CBC,搜索mysql

mysql - 使用子查询和或进行内连接

sql - 带有 JSON 对象数组聚合的 LEFT JOIN 查询

php - 无法连接 : Access denied for user 'root' @'localhost'

php - 搜索多个表格 - 如果未填写输入,则保留表格