gpt4 book ai didi

mysql - 两张表,一对多关系。如何连接值而不重复行?

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

我有一个名为“消息”的表,另一个名为“投票”的表。每条消息可以有多个投票,实际上它们被放置在不同的行中。我该如何解决这个问题?

实际查询是:

SELECT messages.ID, votations.value
FROM messages
LEFT JOIN votations ON messages.ID=votations.messageID

enter image description here

最佳答案

不幸的是,您不能纯粹在 MySQL 中执行此操作。在结果集中,行不能具有不同的列数。您需要实现一些应用程序逻辑。您可以得到的最接近的是:

select m.id, GROUP_CONCAT(voto SEPARATOR ',') 
from messages m
left join votations v on v.messageID = m.id
group by m.id;

这将返回以下格式:

ID  GROUP_CONCAT(VOTO SEPARATOR ',')
1 2,5,6
2 2,12,3

您可以在这里看到它的工作原理:http://sqlfiddle.com/#!2/241a8/3

关于mysql - 两张表,一对多关系。如何连接值而不重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17695199/

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