如:A表(购货基本表)购货合同号 客户名称   签订日期
HW001        001      2011-6-6
HW002        002      2011-6-6
HW003        003      2011-6-6
HW004        004      2011-6-6  B表(购货产品表)
购货合同号 商品名 购货数量   单价    币种
HW001      商品1     20       1.2     元
HW001      商品2     10       1.04    元
HW001      商品3     20       1.25    元
HW002      商品1     20       1.2     元
HW003      商品3     40       1.05    元
HW004      商品2     10       0.2    美元
HW004      商品3     20       0.05   美元C表 (发货产品表)
购货合同号 商品名  提货数量  
HW001       商品1   10  
HW001       商品2   10
HW004       商品3   20
现在要统计未发货的产品的总金额

解决方案 »

  1.   


    declare @t购货产品表 table 
    (购货合同号 varchar(5),商品名 varchar(5),购货数量 int,单价 numeric(3,2),币种 varchar(4))
    insert into @t购货产品表
    select 'HW001','商品1',20,1.2,'元' union all
    select 'HW001','商品2',10,1.04,'元' union all
    select 'HW001','商品3',20,1.25,'元' union all
    select 'HW002','商品1',20,1.2,'元' union all
    select 'HW003','商品3',40,1.05,'元' union all
    select 'HW004','商品2',10,0.2,'美元' union all
    select 'HW004','商品3',20,0.05,'美元'
    declare @发货产品表 table (购货合同号 varchar(5),商品名 varchar(5),提货数量 int)
    insert into @发货产品表
    select 'HW001','商品1',10 union all
    select 'HW001','商品2',10 union all
    select 'HW004','商品3',20select sum((a.购货数量-isnull(b.提货数量,0))*单价) 
    from @t购货产品表 a 
    left join @发货产品表 b 
    on a.购货合同号=b.购货合同号 and a.商品名=b.商品名/*
    105.00
    */
      

  2.   


    declare @t购货产品表 table 
    (购货合同号 varchar(5),商品名 varchar(5),购货数量 int,单价 numeric(3,2),币种 varchar(4),汇率 decimal(18,4))
    insert into @t购货产品表
    select 'HW001','商品1',20,1.2,'元',1 union all
    select 'HW001','商品2',10,1.04,'元',1 union all
    select 'HW001','商品3',20,1.25,'元',1 union all
    select 'HW002','商品1',20,1.2,'元',1 union all
    select 'HW003','商品3',40,1.05,'元',1 union all
    select 'HW004','商品2',10,0.2,'美元',6.4849 union all
    select 'HW004','商品3',20,0.05,'美元',6.4849
    declare @发货产品表 table (购货合同号 varchar(5),商品名 varchar(5),提货数量 int)
    insert into @发货产品表
    select 'HW001','商品1',10 union all
    select 'HW001','商品2',10 union all
    select 'HW004','商品3',20select sum((a.购货数量-isnull(b.提货数量,0))*单价*汇率) 
    from @t购货产品表 a 
    left join @发货产品表 b 
    on a.购货合同号=b.购货合同号 and a.商品名=b.商品名/*
    115.969800
    */
      

  3.   

    单位早晚要统一,不然怎么出现一个结果
    难不成结果  xxx美元+yyy元?