选择与名称匹配的项目和具有相同类别的项目

时间:2018-01-12 09:10:44

标签: php mysql database

我不知道怎么说出这个问题所以我只会告诉你们我需要什么。

我有一张这样的表:

SELECT * FROM item WHERE (name LIKE '%{$search}%' OR med LIKE '%{$search}%')

直到现在我一直在使用以下查询来获取记录。

exports = {
  slideEnter: function() {...},
  slideLeave: function() {...}
}

但现在我想搜索名称(或med),并希望记录与名称匹配的med相同。

如果我输入“sec”,我想要记录1和3,因为记录3与匹配记录1的med相同。

我希望问题很明确。 提前致谢。

3 个答案:

答案 0 :(得分:1)

这会对你有所帮助

SELECT * FROM item WHERE med IN (SELECT med from item WHERE name LIKE '%{$search}%' OR med LIKE '%{$search}%')

答案 1 :(得分:0)

您应该使用引用同一个表的子查询来获取所需的med

SELECT * 
FROM item 
WHERE med in (
    SELECT med 
    FROM item 
    WHERE (name LIKE '%{$search}%' OR med LIKE '%{$search}%')
OR name LIKE '%{$search}%')

答案 2 :(得分:0)

//试试这个..

SELECT * FROM `item` WHERE `med` IN (SELECT `med` FROM `item` WHERE (`name` LIKE '%{$search}%' OR `med` LIKE '%{$search}%') OR `name` LIKE '%{$search}%')