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

相關問題