gpt4 book ai didi

Mysql-合并两个表

转载 作者:行者123 更新时间:2023-11-29 12:33:29 25 4
gpt4 key购买 nike

我有两个表中的数据:

表格产品

ID | title
1 | T-shirt
2 | Pants
...

和表格详细信息

productID | key | value
1 | color | green
1 | size | M
1 | size | L
2 | color | white
2 | color | black
2 | brand | n/a
...

所以,表中的每个产品都有很多细节。我想编写 SQL 来给出结果:

ID | title   | color       | size | brand
1 | T-shirt | green | M,L |
2 | Pants | white,black | | n/a

现在我的第一个 SQL 是:

SELECT * FROM products;

然后在每次调用时在 while 循环中:

SELECT * FROM details WHERE productID={id}

然后将数据合并在一起。也许有一个简单的方法吗?谢谢!

编辑:数据已导入 mysql,我不知道每个产品的所有详细信息(如果我知道的话,我会在产品表中添加一些额外的列)。而且细节每天都在变化。

最佳答案

我将使用条件聚合和group_concat()来做到这一点:

select p.id, p.title,
group_concat(case when key = 'color' then value end) as colors,
group_concat(case when key = 'size' then value end) as sizes,
group_concat(case when key = 'brand' then value end) as brands
from products p join
details d
on p.id = d.productid
group by p.id, p.title;

关于Mysql-合并两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27129077/

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