是否可以在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
现在我的问题是如何通过搜索(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
解决方法:
试试这个:
SELECT
products_id ,
GROUP_CONCAT(options_values_id SEParaTOR ',') as ops
FROM
products_attributes
GROUP by
products_id
HAVING
FIND_IN_SET('1',ops)
OR FIND_IN_SET('3',ops)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。