| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 687 人关注过本帖
标题:再请教各位一个分组统计问题,谢谢!
只看楼主 加入收藏
qinyun
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2008-6-6
结帖率:20%
收藏
已结贴  问题点数:0 回复次数:5 
再请教各位一个分组统计问题,谢谢!
程序代码:
DECLARE @wldw TABLE (单位ID int, 单位名称 nvarchar(11), 科室名称 nvarchar(10), root int, 档案文件 nvarchar(10), 单位拼音 nvarchar(10))

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



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

INSERT @YSZK VALUES(1,'20110403001','1',100)
INSERT @YSZK VALUES(2,'20110403002','1',100)
INSERT @YSZK VALUES(3,'20110403003','2',100)
INSERT @YSZK VALUES(4,'20110403004','3',100)
INSERT @YSZK VALUES(5,'20110403005','3',100)
INSERT @YSZK VALUES(6,'20110403006','5',100)
INSERT @YSZK VALUES(7,'20110403007','4',100)
INSERT @YSZK VALUES(8,'20110403008','5',100)


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

INSERT @FKJL VALUES(1,'20110403001',-50)
INSERT @FKJL VALUES(2,'20110403002',-100)
INSERT @FKJL VALUES(3,'20110403003',-100)
INSERT @FKJL VALUES(4,'20110403004',-100)
INSERT @FKJL VALUES(5,'20110403005',-100)
INSERT @FKJL VALUES(6,'20110403001',-20)
INSERT @FKJL VALUES(7,'20110403002',-30)
请大家帮看一下我下图需要的结果 这个问题比较麻烦,麻烦大家了
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 统计 
2011-04-03 14:06
qinyun
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2008-6-6
收藏
得分:0 
这个问题有点麻烦,请大家帮看一下
2011-04-03 15:42
qinyun
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2008-6-6
收藏
得分:0 
回复 2楼 qinyun
高手有时间吗,请帮个忙分析分析吧
2011-04-03 22:41
panyanpan
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:82
专家分:647
注 册:2011-4-6
收藏
得分:10 
一句sql  我搞不定
建议用存储过程做
2011-04-06 01:55
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:10 
做个参考,希望能帮助到你:
select w.[单位ID],w.[单位名称] ,w.[科室名称]  ,w.[root] ,w.[档案文件] ,w.[单位拼音]
      ,t2.货款金额  ,t2.付款款金额
      ,(cast(t2.货款金额 as int)+CAST(t2.付款款金额 as int)) as 合计
      from dbo.wldw w,
      (
        select  y.单位ID as 单位ID,y.货款金额 货款金额,t1.付款款金额 from dbo.YSZK y,
        ( select 单据编号,sum(付款款金额) as 付款款金额 from dbo.FKJL group by 单据编号) as t1
        where y.单据编号=t1.单据编号
       ) as t2
       where w.单位ID=t2.单位ID
2011-04-10 11:06
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
收藏
得分:0 
select wldw.单位ID, 单位名称, 科室名称, root, 档案文件, 单位拼音,sum(货款金额) 货款金额,
(SELECT sum(付款款金额) FROM FKJL  inner join YSZK on FKJL.单据编号=YSZK.单据编号  where YSZK.单位ID=wldw.单位ID) 付款款金额
into #temp
from wldw left join YSZK on wldw.单位ID=YSZK.单位ID
GROUP BY wldw.单位ID, 单位名称, 科室名称, root, 档案文件, 单位拼音

select 单位ID, #temp.单位名称, 科室名称, root, 档案文件, 单位拼音,isnull(case when root=0 then x.贷款金额 else #temp.货款金额 end,0) 货款金额,
isnull(case when root=0 then x.付款款金额 else #temp.付款款金额 end,0) 付款款金额,
isnull(case when root=0 then x.贷款金额 else #temp.货款金额 end,0)+isnull(case when root=0 then x.付款款金额 else #temp.付款款金额 end,0) 欠款金额
from #temp inner join
(select 单位名称,sum(货款金额) 贷款金额,sum(付款款金额) 付款款金额
from #temp group by 单位名称) x
on #temp.单位名称=x.单位名称
2011-04-20 14:05
快速回复:再请教各位一个分组统计问题,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046257 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved