gpt4 book ai didi

mysql - 合并表并保留所有不同的 ID 值

转载 作者:行者123 更新时间:2023-11-30 22:15:22 26 4
gpt4 key购买 nike

我有多个表要合并,这些表可能有不同的 ID 值。

例如:

表 1:

ID Year Month Size1
A 2015 4 10
B 2015 5 20

表 2:

ID Year Month Size2
A 2015 4 20
C 2015 5 40

表 3:

ID Year Month Size3
D 2015 6 50
E 2015 7 50

我希望合并后的表看起来像这样:

ID Year Month Size1 Size2 Size3
A 2015 4 10 20 NULL
B 2015 5 20 NULL NULL
C 2015 5 NULL 40 NULL
D 2015 6 NULL NULL 50
E 2015 7 NULL NULL 50

我希望输出 ID 列包含所有表中的所有不同 ID。我的猜测是这可以通过使用 Full Outer Join On ID 以某种方式实现,但我不太能够生成所需的输出格式。

最佳答案

这是另一个可能的查询,它会给出您显示的结果:

SELECT t.id, t.year, t.month, 
SUM(size1) AS size1, SUM(size2) AS size2, SUM(size3) AS size3
FROM (
SELECT id, year, month, size1, NULL AS size2, NULL AS size3 FROM t1
UNION ALL
SELECT id, year, month, NULL, size2, NULL FROM t2
UNION ALL
SELECT id, year, month, NULL, NULL, size3 FROM t3
) AS t
GROUP BY t.id, t.year, t.month;

关于mysql - 合并表并保留所有不同的 ID 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38468921/

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