是否可以在 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
我想 GROUP_CONCAT options_values_id
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,我将如何通过搜索(带有逗号的 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