我有一张桌子(t1)
id score
22 1
35 3
51 4
和另一个(t2)
id score
22 2
35 1
10 5
我想使用SQL查询创建下表。
id score
10 5
22 3
35 4
51 5
即。我需要合并id并将分数加在一起。
理想情况下在ANSI SQL中。
答案 0 :(得分:2)
SELECT id, SUM(score)
FROM (
SELECT *
FROM t1
UNION ALL
SELECT *
FROM t2
) q
GROUP BY
id
答案 1 :(得分:2)
使用UNION ALL将两个表的所有记录合并为一个GROUP BY以获取每个ID的总和。
SELECT id, SUM(score)
FROM (
SELECT id, score
FROM t1
UNION ALL
SELECT id, score
FROM t2
) t
GROUP BY
t.ID
答案 2 :(得分:0)
create table a(id int, score int)
create table b(id int, score int)
insert into a values(1, 10)
insert into a values(2, 5)
insert into b values(1, 15)
insert into b values(3, 20)
select id, sum(score) from
(select * from a
union all
select * from b) s
group by id