oracle 如何将下边两个表的内容合并成一张表

oracle 如何将下边两个表的内容合并成一张表,将年、月进行差异合并,相同的合并,不同的分行列示

img

SQL如下,这个是需要对结果进行处理的。


with TA AS(
SELECT 2001 l_year,12 l_month,50 l_value from dual
union all
SELECT 2003 l_year,1 l_month,50 l_value from dual
union all
SELECT 2003 l_year,12 l_month,50 l_value from dual
union all
SELECT 2004 l_year,12 l_month,50 l_value from dual
), 
TB AS(
SELECT 2001 l_year,10 l_month,60 l_value from dual
union all
SELECT 2003 l_year,1 l_month,60 l_value from dual
union all
SELECT 2003 l_year,4 l_month,60 l_value from dual
union all
SELECT 2004 l_year,10 l_month,60 l_value from dual
)
select 
NVL(TA.L_YEAR,TB.L_YEAR) YEAR, 
NVL(TA.L_month,TB.L_month) MONTH ,
NVL(TA.l_value,0) VALUE_1,
NVL(TB.l_value,0) VALUE_2
 from TA   
FULL join TB  on TA.L_year = Tb.L_year and Ta.L_month = Tb.L_month
ORDER BY NVL(TA.L_YEAR,TB.L_YEAR) ASC
select * from Table1 a full join Table1 b on a.year = b.year and a.month = b.month

用全连接可以达到效果,但是没有明白你说的相同合并,是怎么合并,是值累加吗?还是只显示一条?