select a.*,isnull(b.bbnum,0) bbnum,isnull(c.ccnum,0) ccnum from (
select Code,Name,Size,Unit,sum(Num) num from aa group by Code,Name,Size) a left jion
(select Code,sum(Num) bbnum from bb group by code) b on a.code=b.code left jion 
(select Code,sum(Num) ccnum from bb group by code) c on a.code=c.code

解决方案 »

  1.   

    lxzm1001(*悠悠蓝星*) ( ) 信誉:100    Blog  2006-09-05 08:01:00  得分: 0  
    你怎么那么早,分也让我们这些没有星星的挣点吗。
      

  2.   

    select a.code,a.name,a.size,a.unit,a.num,
    BBnum=isnull((select sum(b.num) from @b b where b.code=a.code group by b.code),0),
    CCnum=isnull((select sum(c.num) from @c c where c.code=a.code group by c.code),0)
    from 
    (select code,name,size,unit,sum(num) num from @a group by code,name,size,unit) a
      

  3.   

    谢谢大家帮忙其中 lxzm1001(*悠悠蓝星*) 仔细试了两次你的语句都调不通,你看是不是写错了?调chuifengde()的语句就没问题
      

  4.   

    TO fcuandy(老菜鸟)呵呵,你把记录贴在记事本看可能会整齐些,我在记事本排得很整齐的,贴上来就有一点错位了,这样确是很难看,还望CSDN改改这小问题
      

  5.   

    那有没有调出来了没有呢?xiaoku(小苦走了,小酷来了!) 
    呵呵,没抢你的分啊。你看我错了。
      

  6.   

    create table aa(code varchar(16),[name] nvarchar(20) ,num money)
    insert aa select '3454','过桥米线',10 union all select 'f643433','恰恰香瓜子',10 union all select '00125','统一方便面',10 union all select '336901','雪碧',10 union all select 'f643433','恰恰香瓜子',10 union all select '336901','雪碧',10go
    create table bb(code varchar(16),[name] nvarchar(20) ,num money)
    insert bb select 'f643433','恰恰香瓜子',7 union all select '336901','雪碧',3 union all select 'f643433','恰恰香瓜子',6 gocreate table cc(code varchar(16),[name] nvarchar(20) ,num money)
    insert cc select 'f643433','恰恰香瓜子',10 union all select '00125','统一方便面',5 union all select '3454','过桥米线',20 union all select '00125','统一方便面',8goselect [code],min([name]) [Name],sum(num) Num,isnull((select sum([num]) from bb where bb.[code] = aa.[code] group by [code]),0) BBNum,isnull((select sum([num]) from cc where cc.[code] = aa.[code] group by [code]),0)CCNum from aa group by [code] 
    drop table aa
    drop table bb
    drop table cc
      

  7.   

    lxzm1001(*悠悠蓝星*) 
    你的语句确实调不通,呵呵。大家都是热心帮助,没有什么抡分而言
      

  8.   

    (*悠悠蓝星*) 的应该可以,就是AA表统计,然后2次left join BB、CC的分组统计数据应该就可以