PHP MYSQL - 比较2个逗号分隔的列表

时间:2015-09-06 19:43:30

标签: php mysql sql

在我的数据库中,我有一个逗号分隔的ID列表( itemids )。

例如,我用测试数据填充一些行:

Row   |    itemids
1    =>    2,5,8,11,22,45
2    =>    4,6,9,13
3    =>    1,3,5,16,23
4    =>    6,12,18,21,24

现在我有一个搜索字符串,其中包含我要为其提供的所有ID:

searchstring => 4,23,40

我现在要做的是从数据库中获取包含搜索字符串中的一个或多个值的所有行。从我的例子中我应该得到以下行:

Row   |    itemids
2    =>    4,6,9,13
3    =>    1,3,5,16,23

我该怎么做?你能给我一个SQL Query的例子吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

查询searchstring => 4,23,40

select * from
item_table
where find_in_set(4,itemids)>0

UNION  

select * from
item_table
where find_in_set(23,itemids)>0

UNION

select * from
item_table
where find_in_set(40,itemids)>0