3

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_attributesGROUP 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
4

1 に答える 1