Group_concat で区切りコンマを使用して選択し、どこで concat をコンマで検索することは可能ですか?ここで mysql の私のサンプル:
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
options_values_id を GROUP_CONCAT したい
SELECT * , GROUP_CONCAT(options_values_id SEPARATOR ',') FROM products_attributes
GROUP by 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
今、私の問題は、値が 1,2 または 2,4 の場合、検索して product_id を見つける方法 (option_values_id とコンマ) であり、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