ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1549|回复: 3

[求助] 再请教各位一个分组统计问题,谢谢

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-4-3 13:26 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

  1. DECLARE @wldw TABLE (单位ID int, 单位名称 nvarchar(11), 科室名称 nvarchar(10), root int, 档案文件 nvarchar(10), 单位拼音 nvarchar(10))

  2. INSERT @wldw VALUES(1,'AAAA','AAAA','0','A001','AAAA')
  3. INSERT @wldw VALUES(2,'AAAA','A1','1','A001','AAAA')
  4. INSERT @wldw VALUES(3,'AAAA','A2','2','A001','AAAA')
  5. INSERT @wldw VALUES(4,'BBBB','BBBB','0','B001','BBBB')
  6. INSERT @wldw VALUES(5,'BBBB','B1','1','B001','BBBB')
  7. INSERT @wldw VALUES(6,'BBBB','B2','2','B001','BBBB')
  8. INSERT @wldw VALUES(7,'BBBB','B3','3','B001','BBBB')



  9. DECLARE @YSZK TABLE (FID int,单据编号 nvarchar(11), 单位ID int, 货款金额 money)

  10. INSERT @YSZK VALUES(1,'20110403001','1',100)
  11. INSERT @YSZK VALUES(2,'20110403002','1',100)
  12. INSERT @YSZK VALUES(3,'20110403003','2',100)
  13. INSERT @YSZK VALUES(4,'20110403004','3',100)
  14. INSERT @YSZK VALUES(5,'20110403005','3',100)
  15. INSERT @YSZK VALUES(6,'20110403006','5',100)
  16. INSERT @YSZK VALUES(7,'20110403007','4',100)
  17. INSERT @YSZK VALUES(8,'20110403008','5',100)


  18. DECLARE @FKJL TABLE (FID int,单据编号 nvarchar(11), 付款款金额 money)

  19. INSERT @FKJL VALUES(1,'20110403001',-50)
  20. INSERT @FKJL VALUES(2,'20110403002',-100)
  21. INSERT @FKJL VALUES(3,'20110403003',-100)
  22. INSERT @FKJL VALUES(4,'20110403004',-100)
  23. INSERT @FKJL VALUES(5,'20110403005',-100)
  24. INSERT @FKJL VALUES(6,'20110403001',-20)
  25. INSERT @FKJL VALUES(7,'20110403002',-30)
复制代码
请大家帮看一下我下图需要的结果 这个问题比较麻烦,麻烦大家了

未命名.JPG

[ 本帖最后由 qinyun 于 2011-4-3 13:37 编辑 ]
未命名.JPG

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-4-4 10:50 | 显示全部楼层
问题依旧未解决,请求大家帮忙,谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-4-5 22:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. /*完整汇总-----------------------------------------------------------------*/
  2. select wl.单位ID, b.* from (
  3. SELECT w.单位名称, w.科室名称,d.应收金额, d.已付金额,d.欠款金额,w.档案文件,w.单位拼音,w.root
  4. FROM @WLDW w left JOIN
  5.           (SELECT b.单位ID, SUM(b.应收金额) AS 应收金额, SUM(isnull(a.付款金额, 0)) AS 已付金额, SUM(b.应收金额)+SUM(isnull(a.付款金额, 0)) AS 欠款金额
  6.          FROM @yszk b LEFT OUTER JOIN
  7.                    (SELECT 单据编号, SUM(isnull(付款金额, 0)) AS 付款金额
  8.                   FROM @fkjl
  9.                   GROUP BY 单据编号) a ON b.单据编号 = a.单据编号
  10. GROUP BY b.单位ID) d ON w.单位ID = d.单位ID
  11. where w.单位名称 <> w.科室名称
  12. UNION ALL
  13. select a.单位名称, a.单位名称 as 科室名称, sum(a.应收金额), sum(a.已付金额), sum(a.欠款金额) ,a.档案文件, a.单位拼音,0 as root
  14. from (
  15.         SELECT w.单位ID,w.单位名称, w.科室名称,d.应收金额, d.已付金额, d.欠款金额 ,w.档案文件, w.单位拼音
  16.         FROM @WLDW w left JOIN
  17.           (SELECT b.单位ID, SUM(b.应收金额) AS 应收金额, SUM(isnull(a.付款金额, 0)) AS 已付金额,SUM(b.应收金额)+SUM(isnull(a.付款金额, 0)) AS 欠款金额
  18.          FROM @yszk b LEFT OUTER JOIN
  19.                    (SELECT 单据编号, SUM(isnull(付款金额, 0)) AS 付款金额
  20.                   FROM @fkjl
  21.                   GROUP BY 单据编号) a ON b.单据编号 = a.单据编号
  22.         GROUP BY b.单位ID) d ON w.单位ID = d.单位ID
  23.         where w.单位名称 <> w.科室名称
  24. ) a
  25. group by a.单位名称,a.档案文件, a.单位拼音
  26. ) b left join @WLDW wl on b.科室名称 = wl.科室名称 and b.单位名称 = wl.单位名称
  27. order by wl.单位ID, wl.档案文件, wl.单位拼音, wl.root


  28. /*完整汇总------------------------------------------------------------------*/
复制代码
这是完成功语句,留给需要的朋友吧

TA的精华主题

TA的得分主题

发表于 2011-4-6 08:30 | 显示全部楼层
以下供参考,如果汇总只是两层结构,CASE还可以更简单的判断ROOT值即可。

select 单位ID,单位名称,科室名称,(case (SELECT COUNT(单位名称) FROM TableName T WHERE T.单位名称=A.科室名称 ) WHEN 0 THEN 货款金额 ELSE (SELECT SUM(货款金额) FROM TableName T WHERE T.单位名称=A.科室名称 ) END) As 货款金额sum from TableName A
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-11 17:04 , Processed in 0.021757 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表