gpt4 book ai didi

Mysql - 分组1到多连接

转载 作者:行者123 更新时间:2023-11-29 21:00:22 24 4
gpt4 key购买 nike

使用下表:

products
product_id | name
1 | Jeans
2 | t-shirt

options
option_id | product_id | option_name | option_value
1 | 1 | size | 32
2 | 1 | colour | blue
3 | 1 | price | 100
4 | 2 | colour | red

我想对产品运行查询并返回包含产品数据以及该产品选项的单行。问题在于产品和选项之间的一对多关系。

这是否可能以某种方式将它们分组或在每个选项的结果中包含多个列?

最佳答案

使用GROUP_CONCAT

SELECT p.product_id, p.name, GROUP_CONCAT(CONCAT(o.option_name, ' ', o.option_value)) AS options
FROM products AS p
LEFT JOIN options AS o ON p.product_id = o.product_id
GROUP BY p.product_id

我使用LEFT JOIN,以便仍会列出没有选项的产品(带有空的选项列)。如果您不想在结果中看到这些产品,请使用INNER JOIN

关于Mysql - 分组1到多连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37286083/

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