是否可以在 Group_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
我想要 GROUP_CONCAT options_values_id
SELECT * , GROUP_CONCAT(options_values_id SEPARATOR ',') FROMproducts_attributes
按 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,那么我将如何通过搜索(带有逗号的 option_values_id)找到product_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