2013-05-11 81 views
0

所以我有一个数组:包含输入数组的所有值选择字段

$someArray => Array 
    (
     [0] => 1 
     [1] => 6 
     [2] => 7 
    ) 

,我有MySQL的领域:

+---------+ 
| value | 
+---------+ 
| 1,2,3,4 | 
+---------+ 

+---------+ 
| value | 
+---------+ 
| 1,3,5,7 | 
+---------+ 

+---------+ 
| value | 
+---------+ 
| 1,8,7,6 | 
+---------+ 

有编写一个查询,只会返回一个办法第三个领域(因为那个在它的价值领域有1,6和7)?我知道我可以使用FIND_IN_SET三次,但我希望有一个更强大的解决方案。

感谢

+0

关系部门的人? – Strawberry 2013-05-11 17:14:52

+2

你为什么要存储逗号分隔值? – 2013-05-11 17:16:03

+0

这是给定的数据库架构 – srgb 2013-05-11 21:04:51

回答

1

你应该Concat的查询使用阵列上的一些循环如下...

FIND_IN_SET(1,`column_name`) AND FIND_IN_SET(6,`column_name`) AND FIND_IN_SET(7,`column_name`) 

希望我得到了你的问题,正确的

+0

是我打算做的,但我想也许有一些类似于PHP中的array_intersect .. – srgb 2013-05-11 21:05:52

相关问题