zoukankan      html  css  js  c++  java
  • sql表合并,统计计算,生成总计

    根据sql表中内容生成统计结果数据,以插入grid中显示
     
    显示效果如下:
     
     
     
     1 select ROW_NUMBER () over (order by prebmbm ) as RowNumber,
     2 prebmbm,convert (varchar, cast(ynum *1.0/ TotalNum*100 as dec (10, 2)))+'%' as queren,
     3 convert(varchar ,cast( nnum*1.0 /TotalNum* 100 as dec(10 ,2)))+ '%' as pankui,
     4 convert(varchar ,cast( pnum*1.0 /TotalNum* 100 as dec(10 ,2)))+ '%' as part,
     5 convert(varchar ,cast( tnum*1.0 /TotalNum* 100 as dec(10 ,2)))+ '%' as total,tnum ,ynum, TotalNum from
     6 (select prebmbm,SUM (case xmldata.value ('(/Items/WFItem[@name="queren"])[1]','nvarchar(max)' ) when '完全一致' then 1 else 0 end )as ynum,
     7 SUM(case xmldata.value ('(/Items/WFItem[@name="queren"])[1]','nvarchar(max)' ) when '盘亏' then 1 else 0 end )as nnum,
     8 SUM(case xmldata.value ('(/Items/WFItem[@name="queren"])[1]','nvarchar(max)' ) when '帐实不符资产' then 1 else 0 end) as pnum ,
     9 SUM(case docstatus when ' 已盘点' then 1 else 0 end) as tnum ,
    10 count(zcbianhao ) as TotalNum from h3c02005_FAChecking group by prebmbm union
    11 select ' 总计' as prebmbm ,SUM( case xmldata.value ('(/Items/WFItem[@name="queren"])[1]','nvarchar(max)' ) when '完全一致' then 1 else 0 end )as ynum,
    12 SUM(case xmldata.value ('(/Items/WFItem[@name="queren"])[1]','nvarchar(max)' ) when '盘亏' then 1 else 0 end )as nnum,
    13 SUM(case xmldata.value ('(/Items/WFItem[@name="queren"])[1]','nvarchar(max)' ) when '帐实不符资产' then 1 else 0 end) as pnum ,
    14 SUM(case docstatus when ' 已盘点' then 1 else 0 end) as tnum ,
    15 count(zcbianhao ) as TotalNum from h3c02005_FAChecking )temp1 order by RowNumber asc
  • 相关阅读:
    036 Python进阶小结
    035 异常处理
    033 数据类型分类
    034 Python深浅拷贝
    032 集合类型内置方法
    031 字典类型内置方法
    XML删除节点
    追加XML
    XML文档的读、写
    XML文档的创建
  • 原文地址:https://www.cnblogs.com/guojian2080/p/3581788.html
Copyright © 2011-2022 走看看