select isnull (isnull(a.hbbm,b.hbbm),c.hbbm) hbbm ,isnull(a.sl,0) s1,isnull(b.sl1,0) sl1 ,isnull(c.sl2,0) sl2
from a full join b on a.hbbm=b.hbbm
full join c on a.hbbm=c.hbbm
select hbbm,sum(s1) as s1,sum(s11) as s11,sum(s12) as s12
from
(select hbbm,s1,0 as s11,0 as s12 from A
union all
select hbbm,0,s11,0 from B
union all
select hbbm,0,0,s12 from C) tem
group by hbbm
select hbbm,sum(s1),sum(s11),sum(s12)
from
(select hbbm,s1,0 as s11,0 as s12 from A
union
select hbbm,0,s11,0 from B
union
select hbbm,0,0,s12 from C) tem
group by hbbm