gpt4 book ai didi

mysql - 需要重写查询以选择辅助表中的多条记录

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

我有以下查询:

SELECT
p.id,
p.name,
tc.comment
FROM people AS p
LEFT JOIN comments AS tc ON (tc.pID = p.id)
WHERE p.projID = $project_id
GROUP BY p.id

最初编写时,每个人只能发表一条评论,但后来改为允许同一个人发表多个评论。但是,此查询仅选择与特定人员匹配的第一个评论。我想知道是否有一种方法可以重写它,使其选择与每个人相关的所有评论,或者我是否需要将评论分离到它自己的查询中以在每个人的行中运行?但这看起来效率很低。

最佳答案

您需要使用GROUP_CONCAT()聚合函数,它将返回合并在单个列中的所有评论:

SELECT
p.id,
p.name,
GROUP_CONCAT(tc.comment) AS comments
FROM
people AS p LEFT JOIN comments AS tc
ON tc.pID = p.id
WHERE
p.projID = $project_id
GROUP BY
p.id,
p.name

关于mysql - 需要重写查询以选择辅助表中的多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27067328/

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