難道可能在GROUP_CONCAT與分隔逗號選擇 並用逗號 這裏我的MySQL樣本的搜索中,CONCAT:PHP和MySQL GROUP_CONCAT與分隔逗號和搜索中,CONCAT用逗號
products_attributes_id |products_id| options_id| options_values_id
39 | 31 | 3 | 3
35 | 30 | 2 | 2
38 | 30 | 1 | 1
40 | 31 | 2 | 2
41 | 30 | 1 | 4
42 | 30 | 1 | 5
43 | 31 | 1 | 4
我想到GROUP_CONCAT options_values_id
SELECT *,GROUP_CONCAT(options_values_id SEPARATOR '')FROM products_attributes
GROUP由products_id
products_attributes_id | products_id | options_id | options_values_id | options_values_id
35 | 30 | 2 | 2 | 2,1,4,5
39 | 31 | 3 | 3 | 3,2,4
現在我的問題是如何通過搜索(option_values_id和逗號)來查找product_id,如果我的值是1,2或2,4,那麼我將只獲得product_id = 30。 但是,如果我得到價值1,3我什麼也得不到。由於PRODUCT_ID 30沒有option_values_id 3 和PRODUCT_ID 31沒有option_values_id 1.
我試試這個代碼,但我不能得到的product_id
SELECT * , GROUP_CONCAT(options_values_id
SEPARATOR ',')
FROM `products_attributes` WHERE CONCAT(',',options_values_id,',') LIKE '%,1,2,%'
GROUP BY products_id
也許有沒有辦法做到這一點,而不使用「GROUP_CONCAT」?你能給我們更多的背景信息嗎? – Halcyon