select a.mc,a.sl,isnull(b.sl,0),isnull(c.sl,0),isnull(d.sl,0) from (select mc,sum(qcsl) sl from a group by mc) a left join (select mc,sum(qcsl) sl from b group by mc) b on a.mc = b.mc left join (select mc,sum(qcsl) sl from c group by mc) c on a.mc = c.mc left join (select mc,sum(qcsl) sl from (select distinct mc,sl from d) e group by mc) d on a.mc = d.mc
from
(select mc,sum(qcsl) sl from a group by mc) a left join
(select mc,sum(qcsl) sl from b group by mc) b on a.mc = b.mc left join
(select mc,sum(qcsl) sl from c group by mc) c on a.mc = c.mc left join
(select mc,sum(qcsl) sl from (select distinct mc,sl from d) e group by mc) d on a.mc = d.mc