我的目标是合并两个表,其中一些id可能存在于一个表中,而不存在于另一个表中。如果id和年份相同,则应将金额相加。
Table 1:
ID Year Amount
111 2010 10.50
111 2011 5
123 2010 6
124 2010 8
Table 2:
ID Year Amount
111 2010 10
124 2011 10
125 2011 5
Output:
ID Year Amount
111 2010 20.50
111 2011 5
123 2010 6
124 2010 8
124 2011 10
125 2011 5
我打算先把两张table合并起来:
select *
from schema.table1
UNION ALL
select *
from schema.table2
但这只让我离目标有点近。当我做case语句时,我能做一个union all和一个sum吗?
select ID, year, sum(a.year + b.year)
from schema.table1 a
UNION ALL
from schema.table2 b
1条答案
按热度按时间tzdcorbm1#
可以使用子查询:
你也可以使用
full join
,但有coalesce()
学生: