产品名称   结算率

** 65.%
** 45.%
** 75.%
** 75.%
** 0.%
** 45.%
** 45.%
** 80.%
** 80.%
** 79.%
** 76.%
** 45.%
总计 丽水
结算前 结算后
0.00
0.00
0.00
240.00 180.00
11.00 0.00
0.00
20.00 9.00
8.00 6.40
14.00 11.20
0.00
38.00 28.88
0.00
331.00 248.25
结算后=结算前*结算率
不过总计结算后的结果不对啊,求各位打打帮忙。
产品和结算率都是行组。

解决方案 »

  1.   


    if db_id('tb1') is not null
      drop table tb1
    go
    create table tb1(产品名称 varchar(50),结算前 decimal(18,4),结算率 decimal(18,4))
    go
    insert tb1(产品名称,结算前,结算率)
      select '产品1',0.00,0.65 union all
      select '产品2',0.00,0.45 union all
      select '产品3',0.00,0.75 union all
      select '产品4',240.00,0.75 union all
      select '产品5',11.00,0 union all
      select '产品6',0.00,0.45 union all
      select '产品7',20.00,0.45 union all
      select '产品8',8.00,0.8 union all
      select '产品9',14.00,0.8 union all
      select '产品10',0.00,0.79 union all
      select '产品11',38.00,0.76 union all
      select '产品12',0.00,0.45
    goselect 产品名称,结算前,(结算前*结算率) 结算后
    from tb1
    union 
    select '总计',sum(结算前),sum(结算前*结算率)
    from tb1drop table tb1