gpt4 book ai didi

mysql - 如何在 MySQL 中连接和旋转表

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

我有 3 个表。我需要连接其中的 2 个并让连接枢轴连接表以返回行中的值。请阅读下面的说明。

Table 1:
t1ID Title
01 Title 1
01_01 Title 1a
01_02 Title 1b
01_03 Title 1c
02 Title 2
02_01 Title 2a
02_02 Title 2b

...等等

Table 2 (not used in my join, but shown to see relationship between 3 tables -- contains a fixed number of rows which is 10):
t2ID Description
01 Desc A
02 Desc B
03 Desc C
...
10 Desc J


Table 3:
t1ID t2ID Value
01 01 A
01 02 B
...
01 10 C
01_01 01 D
01_01 02 E
...
02_01 10 F
02_02 01 G
02_02 02 H

...等等

我想在 t1ID 上加入表 1 和表 3,其中表 1 是主要的或主要的,表 3 提供了详细的值。我需要在 t2ID 上订购表 3 以保持顺序,以便我可以正确处理输出。

我希望查询结果如下所示:

row[0]    row[1]  row[2] ... row[10]
Title 1 A B C
Title 1a D E

所以我需要每一行都将输出数组中的第一个项目作为标题,然后是来自连接表 3 的输出数组的第 2 到 11 项。

希望这是有道理的。

感谢您在这方面帮助我。

AMENDED(越来越近,或者至少我不再有派生别名错误消息):

SELECT t1.t1ID, t1.Title, GROUP_CONCAT(t3.Value) AS value
FROM Table1 AS t1
JOIN Table3 AS t3 ON t3.t1ID = t1.t1ID
GROUP BY t3.t1ID
ORDER BY t1.t1ID

我现在需要做的就是按 t2ID ORDER 对表 3 进行排序

有人可以帮忙吗?

最佳答案

您可以按如下方式对 group_concat() 输出进行排序:

SELECT
t1.t1ID,
t1.Title,
GROUP_CONCAT(t3.Value order by t2ID) AS value
FROM Table1 AS t1
JOIN Table3 AS t3 ON t3.t1ID = t1.t1ID
GROUP BY t3.t1ID
ORDER BY t1.t1ID

请注意 order by group_concat() 调用中

关于mysql - 如何在 MySQL 中连接和旋转表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012701/

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