我有下表:
Videos
ID(Int) Industries(Varchar)
11 3,5,8
22 5
33 1,3
这是理想的结果:
Search In Industry Field Found IDs
3 11,33
1,8 11,33
5 11,22
1,5 11,22,33
3,5,8 11,22,33
1 33
8 11
我正在寻找的是一种提出查询的方法。 find_in_set()是一个很好的函数但不能工作,因为它只能搜索一个id。我也无法改变表格结构。我可以将每个ID放在find_in_set中并使其成为循环,但想知道是否有更好的方法可以实现!
谢谢,
答案 0 :(得分:1)
您可以将不同的FIND_IN_SET组合在一起吗?
Search In Industry Field 3
WHERE FIND_IN_SET(3,Industries)
Search In Industry Field 1,8
WHERE FIND_IN_SET(1,Industries)
OR FIND_IN_SET(8,Industries)
答案 1 :(得分:0)
这可以帮助你:
SELECT * FROM
table
WHERE industries
LIKE '%andthenthevalue%'
然后通过用逗号爆炸搜索输入来搜索每个搜索的值?