当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 实现按部门月卡余额总额分组统计的SQL查询代码

MSSQL
如何在把超过固定长度的文字以……表示
精彩的近乎完美的分页存储过程
关于SQL Server SQL语句查询分页数据的解决方案
删除Access数词库中的空记录
在SQLSERVER2005中实现素数计算
经常用到的交叉表问题,一般用动态SQL能生成动态列!
sql server存储过程、存储函数的加密、解密
在SQL Server 2005中查询表结构及索引
取得拼音字头的存储过程
SQL Server自动备份无法删除过期的备份文件
未与信任SQL Server连接相关联的解决方法
小結SQL Server連接失敗錯誤及解決
SQL Server2000+JDBC常见问题及解决
PL/SQL实现Oracle数据库任务调度
Oracle中捕获问题SQL解决CPU过渡消耗
SQL Server 某些条件下求某日的日期
如何保持Oracle数据库的优良性能
SQL Server05 M 3.0 中复制和远程数据访问功能的技术对比
sql server平台用存储过程进行分页的两种方法
sql server 2000中循环插入100万条数据

MSSQL 中的 实现按部门月卡余额总额分组统计的SQL查询代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 102 ::
收藏到网摘: n/a

 

陈优章的专栏

(原创,到现在为至最为复杂的SQL查询代码)实现按部门月卡余额总额分组统计的SQL查询代码(在Ms SQL Server中调试通过)

SELECT dp.dpname1 AS 部门, cust_dp_SumOddfre.sum_oddfare AS 当月卡总余额
FROM (SELECT T_Department.DpCode1, SUM(custid_SumOddfare_group.sum_oddfare)
              AS sum_oddfare
        FROM (SELECT l2.CustomerID, SUM(r1.oddfare) AS sum_oddfare
                FROM (SELECT CustomerID, MAX(OpCount) AS max_opcount
                        FROM (SELECT CustomerID, OpCount, RTRIM(CAST(YEAR(OpDt)
                                      AS char)) + '-' + RTRIM(CAST(MONTH(OpDt) AS char))
                                      + '-' + RTRIM(DAY(0)) AS dt
                                FROM T_ConsumeRec
                                UNION
                                SELECT CustomerID, OpCount, RTRIM(CAST(YEAR(cashDt)
                                      AS char)) + '-' + RTRIM(CAST(MONTH(cashDt) AS char))
                                      + '-' + RTRIM(DAY(0)) AS dt
                                FROM T_Cashrec) l1
                        WHERE (dt <= '2005-6-1')/*输入查询月份,可用参数传递*/
                        GROUP BY CustomerID) l2 INNER JOIN
                          (SELECT CustomerID, OpCount, oddfare
                         FROM T_ConsumeRec
                         UNION
                         SELECT CustomerID, OpCount, oddfare
                         FROM T_Cashrec) r1 ON l2.CustomerID = r1.CustomerID AND
       &nb