gpt4 book ai didi

mysql - 如何修复这个查询?使用 GROUP_CONCAT

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

我有一个查询,可以获取所有产品名称并将名称连接到 1 列。但我不知道如何让它发挥作用。这是查询。

SELECT package_id, 
GROUP_CONCAT
(
SELECT c.product_name FROM tbl_product c WHERE c.product_id IN
(
SELECT a.product_id FROM tbl_package_detail a WHERE a.package_id = b.package_id
)
ORDER BY c.product_id
)
FROM tbl_package b
GROUP BY package_id

请注意:

SELECT c.product_name FROM tbl_product c WHERE c.product_id IN 
(
SELECT a.product_id FROM tbl_package_detail a WHERE a.package_id = b.package_id
)
ORDER BY c.product_id

返回我需要的所有产品名称。我不确定我是否正确使用了 GROUP_CONCAT

错误消息:

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在“SELECT c.product_name FROM tbl_product c WHERE c.product_id IN”附近使用的正确语法。

最佳答案

尝试以下操作

SELECT
b.package_id,
GROUP_CONCAT(c.product_name ORDER BY c.product_id) ProductList
FROM tbl_package b
LEFT JOIN tbl_package_detail a ON a.package_id = b.package_id
LEFT JOIN tbl_product c ON c.product_id=a.product_id
GROUP BY b.package_id

GROUP_CONCAT 是一个聚合函数,例如 SUM/AVG/MIN/MAX/COUNT

关于mysql - 如何修复这个查询?使用 GROUP_CONCAT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47707481/

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