很好的SQL
select a1,a2,b1,b2 from (select a1,a2,a1||a2||ROW_NUMBER() over (partition by a1||a2 order by a1||a2 ) sna from a ) x, (select b1,b2,b1||b2||ROW_NUMBER() over (partition by b1||b2 order by b1||b2 ) snb from b ) y where x.sna=y.snb(+) union all select a1,a2,b1,b2 from (select a1,a2,a1||a2||ROW_NUMBER() over (partition by a1||a2 order by a1||a2 ) sna from a ) x, (select b1,b2,b1||b2||ROW_NUMBER() over (partition by b1||b2 order by b1||b2 ) snb from b ) y where x.sna(+)=y.snb and x.s