gpt4 book ai didi

mysql - 将表结果作为文本列

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

我有两个表,第一个是公司表,第二个是我们可以说的股东表。股东表可以有超过一千个股东。

我需要制作一个 View /另一个表,其中每个股东姓名都在一个文本列中,以及公司的唯一标识符、公司名称和“假”名称。

表 1 公司:

ID CompanyID Name FantasyName
1 1 A Company 1
2 2 B Company 2
3 3 C Company 3
4 4 D Company 4
5 5 E Company 5
6 6 F Company 6
7 7 G Company 7

表 2 股东:

ID CompanyID Name
1 1 John 1
2 1 Peter 2
3 1 Gabriel Li
4 2 Raphael 3
5 2 Anderson 4
6 2 Michael 6
7 2 Angelina Jo
8 3 John 8
9 4 Beatrice
10 4 Scarlet
11 5 Scarlet
12 5 Logan
13 5 John 1

我尝试通过 C# 通过 Linq 执行此操作,但速度还不够快,无法达到我的目的,此表包含数百万家公司。

最终结果是这样的:

表 3 公司和股东:

ID CompanyID Name FantasyName Shareholders
1 1 A Company 1 John 1,Peter 2,Gabriel Li
2 2 B Company 2 Raphael 3, Anderson 4,Michael 6,Angelina Jo
3 3 C Company 3 John 8
4 4 D Company 4 Beatrice,Scarlet
5 5 E Company 5 Scarlet,Logan,John 1
...

所有股东都在一个文本字段中,并附有公司信息。

最佳答案

您可以使用聚合和 GROUP_CONCAT() :

CREATE VIEW myview AS
SELECT
c.ID,
c.CompanyID,
c.Name,
c.FantasyName,
GROUP_CONCAT(s.Name) Shareholders
FROM
Company c
INNER JOIN Shareholders s ON s.CompanyID = c.CompanyID
GROUP BY
c.ID,
c.CompanyID,
c.Name,
c.FantasyName

关于mysql - 将表结果作为文本列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58272440/

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