| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1576 人关注过本帖
标题:请教一个多类别分级汇总的SQL语句
只看楼主 加入收藏
Find_cpa
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-8-18
收藏
 问题点数:0 回复次数:2 
请教一个多类别分级汇总的SQL语句

目标说明: 要用一条SQL语句生成各级次的部门对应的各级次支出类别的金额情况:

数据表共涉及三个

1.部门代码表

级次 部门代码 部门名称

1 BM 总部
2 BM01 总部->生产部
2 BM02 总部->财务部

2. 支出类别代码表

级次 支出类别代码 支出类别名称

1 ZC 交通费
2 ZC01 交通费->的士费
2 ZC02 交通费->火车费

3. 支出明细表

部门编码 支出类别编码 支出金额
BM01 ZC01 100
BM01 ZC02 100
BM02 ZC01 100
BM02 ZC02 100

相生成的结果表是:

部门级次 部门编码 支出类别级次 支出类别编码 支出金额
1 BM 1 ZC 200
1 BM 2 ZC01 100
1 BM 2 ZC02 100
2 BM01 1 ZC 200
2 BM01 2 ZC01 100
2 BM01 2 ZC02 100
2 BM02 1 ZC 200
2 BM02 2 ZC01 100
2 BM02 2 ZC02 100

搜索更多相关主题的帖子: SQL 类别 语句 分级 汇总 
2007-08-18 22:13
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 

从你的表结构来看, 很难完成这个功能. 因为你的表结构上看不出 BM是BM01的父代码, ZC是ZC01的父代码.
这种关系如果hard code写进存储过程实在是没什么意义. 而且不具有重复使用价值(你只要添加了新类别就要重新写代码)

在2个代码表里面加一个字段ParentID, 指定它的上级编码; 如果是根, 那么Parent就是Null.
然后用报表工具 (比如Crystal report) 可以很容易的建立报表


2007-08-20 10:55
xinzheng
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-7-22
收藏
得分:0 
回复:(Find_cpa)请教一个多类别分级汇总的SQL语句
select b.部门编码,a.支出类别级次,b.支出类别编码,b.支出金额 into #1 from 支出类别代码表 a,支出明细表 b where a.支出类别代码=b.支出类别编码
select a.部门级次,b.部门编码,b.支出类别级次,b.支出类别编码,b.支出金额 from 部门代码表 a,#1 b where a.部门代码=b.部门编码
drop table #1
2007-08-20 13:48
快速回复:请教一个多类别分级汇总的SQL语句
数据加载中...
 
   



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

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