gpt4 book ai didi

mysql - 如何仅合并多个表中的一列?

转载 作者:可可西里 更新时间:2023-11-01 07:56:43 24 4
gpt4 key购买 nike

我发现很难提出问题,所以我将展示我正在尝试做的事情。

Table1 (ID, Name, Score)  
1 Jane 10
2 Jack 15
3 Jill 12
4 Jane 10


Table2 (ID, Name, Score)
1 John 11
2 Jill 14
3 Jack 16
4 Jake 15

我想要的结果是

Result (Name, Table1.Score, Table2.Score)  
Jane 20 NULL
Jack 15 16
Jill 12 14
John NULL 11
Jake NULL 15

name可以成为主键吗?请注意,Jane 在表 1 中出现了两次(也可能在表 2 中出现),我想对分数求和并使该名称在给定的表中唯一。

最佳答案

这是使用 UNIONSUM 的一种方法:

SELECT T.Name, Sum(T.Score), Sum(T2.Score) Score2
FROM (SELECT Name, SUM(Score) score FROM Table1 GROUP BY Name) t
LEFT JOIN (SELECT Name, SUM(Score) score FROM Table2 GROUP BY Name) t2
ON t.Name = t2.Name
GROUP BY T.Name
UNION
SELECT T.Name, Sum(T2.Score), Sum(T.Score) Score2
FROM (SELECT Name, SUM(Score) score FROM Table2 GROUP BY Name) t
LEFT JOIN (SELECT Name, SUM(Score) score FROM Table1 GROUP BY Name) t2
ON t.Name = t2.Name
GROUP BY T.Name

这里是 SQL Fiddle .

祝你好运。

关于mysql - 如何仅合并多个表中的一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14817066/

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