select 
a.M,a.D,tb.名称,a.数量 as 数量A,tb.数量 as 数量B,tc.数量 as 数量C,td.数量 as 数量D    
from a,
(select m,d,名称,sum(数量) as 数量 from b group m,d,名称) as tb,
(select m,d,名称,sum(数量) as 数量 from c group m,d,名称) as tc,
(select m,d,名称,sum(数量) as 数量 from d group m,d,名称) as td
where a.m=tb.m
and a.d=tb.d
and a.m=tc.m
and a.d=tc.d
and a.m=td.m
and a.d=td.d
and tb.名称=tc.名称
and tb.名称=td.名称

解决方案 »

  1.   

    为何会有 GROUP BY 错误
    能否写完整一些
      

  2.   

    写少了byselect 
    a.M,a.D,tb.名称,a.数量 as 数量A,tb.数量 as 数量B,tc.数量 as 数量C,td.数量 as 数量D    
    from a,
    (select m,d,名称,sum(数量) as 数量 from b group by m,d,名称) as tb,
    (select m,d,名称,sum(数量) as 数量 from c group by m,d,名称) as tc,
    (select m,d,名称,sum(数量) as 数量 from d group by m,d,名称) as td
    where a.m=tb.m
    and a.d=tb.d
    and a.m=tc.m
    and a.d=tc.d
    and a.m=td.m
    and a.d=td.d
    and tb.名称=tc.名称
    and tb.名称=td.名称
      

  3.   

    select t4.m,t4.d,t1.mc,t4.sl as sla,t1.sl as slb,t2.sl as slc,t3.sl as sld from 
    (select mc,sum(sl) as sl from b group by mc) t1,
    (select mc,sum(sl) as sl from c group by mc) t2,
    (select mc,sum(sl) as sl from d group by mc) t3,
    a t4
    where t1.mc=t2.mc and t1.mc=t3.mc