select a.订单号,  a.物料编号, a.颜色, a.数量 as 定单数量, b.数量
from  ##订单表 a, (select 订单号, sum(数量) as 数量 from ##送货单 group by 订单号) b 
where a.订单号=b.订单号

解决方案 »

  1.   

    select A.订单号,  
           A.物料编号, 
           A.颜色,
           A.数量 as 定单数量, 
           (Select sum(数量) from ##送货单 where 订单号=A.订单号) as 送货总数量
      from  ##订单表 A
      

  2.   

    select a.订单号,  a.物料编号, a.颜色, a.数量 as 定单数量, b.数量
    from  ##订单表 a, (select 订单号, sum(数量) as 数量 from ##送货单 group by 订单号,物料编号,颜色) b 
    where a.订单号=b.订单号================================================================我越来越喜欢DELPHI了!================================================================
      

  3.   

    select a.订单号,a.物料编号,a.颜色,a.订单数量,b.送货总数量
    from ##订单表 a
    left outer join
    (select 物料编号, 颜色, 送货总数量=sum(数量),  订单号  
     from  ##送货单 group by 物料编号,颜色, 订单号  ) bon a.订单号=b.订单号
      

  4.   

    上面几位,我都试过了,行不通。应该是这样:select a.订单号,a.物料编号,a.颜色,a.订单数量,b.送货总数量
    from 送货单 a join
    (select 订单号, 物料编号, sum(数量) as  送货总数量 from 送货单 
    group by 订单号, 物料编号) b on (a.订单号=b.订单号 and a. 物料编号=b. 物料编号)但在 on( ) 里面还要加:a.颜色=b.颜色 ;可是on( )里只能有一个"and",不能再加了,请帮忙想办法。
      

  5.   

    你的查询结果肯定不正确,注意:你使用的是内联(默认),这样,如果没有送货的记录就查不到,使用外联(左外联),若没有送货,就以0来填充,就是你要得结果修改:on (a.订单号=b.订单号 and a. 物料编号=b. 物料编号)为:on (a.订单号=b.订单号) and (a. 物料编号=b. 物料编号)