gpt4 book ai didi

mysql - mysql中group_concat列之间的关系

转载 作者:行者123 更新时间:2023-11-29 04:36:32 24 4
gpt4 key购买 nike

我知道我的问题有点奇怪,但我会尽量把它说清楚。

products_table
ID | code | product_variants_id | product_name | variants | variants_value
1 | 1| 123451 | beer cake | color | blue
2 | 1| 123451 | beer cake | temperature | cold
3 | 1| 123451 | beer cake | weight | 0.5
4 | 2| 123453 | ad wrap | color | green
5 | 2| 123453 | ad wrap | weight | 1

这是我的最终产品表的样子,现在要显示产品,这就是我所做的。

SELECT xx.code, GROUP_CONCAT(xx.variants) AS variants,
GROUP_CONCAT(xx.variants_value) AS variants_value ,
xx.product_name, xx.product_variants_id
FROM products_table xx
GROUP BY xx.product_variants_id

在这个查询之后我的表看起来像这样

       code | product_variants_id   | product_name | variants                | variants_value   
1 | 123451 | beer cake | color,temperature,weight| blue,cold,0.5
2 | 123453 | ad wrap | color,weight | green,1

现在我可以简单地浏览这个表格并一个一个地获取产品并显示它的变体。

我真正的问题是,有什么方法可以链接我刚刚获得的这些串联结果吗?

例如: 在服务器端我可以得到变体 color ,我怎样才能得到 color 的相应值?

我的方法是什么?

最佳答案

首先将变体和相应的值连接在一起,然后执行 group_concat():

SELECT xx.code, GROUP_CONCAT(concat(xx.variants,':',xx.variants_value)) AS variants_and_values, xx.product_name, xx.product_variants_id
FROM products_table xx
GROUP BY xx.product_variants_id, xx.product_name, xx.code

关于mysql - mysql中group_concat列之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40164534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com