这是培训数据库课程后的考试题上机题内容,昨天考的。当时做的时候没有看到表格中的“合计”,30分的题,估计只能得10分。。。
题目是这样的:
数据库上机试题
1、 题目:要求用存储过程实现如下报表,其他不限。 (30分)
(1)全省2007年分税种统计,结果表样如下:
|
税种 |
07年税额 |
|
营业税 |
|
|
个人所得税 |
|
|
印花税 |
|
|
资源税 |
|
|
企业所得税 |
|
|
房产税 |
|
|
城市维护建设税 |
|
|
车船税 |
|
|
烟叶税 |
|
|
城镇土地使用税 |
|
|
土地增值税 |
|
|
防洪保安费 |
|
|
其他罚没收入 |
|
|
文化建设事业费 |
|
|
价格调节基金 |
|
|
教育费附加收入 |
|
|
合计 |
|
|
|
|
(2)数据字典说明:
|
表:rk34 | ||
|
字段名 |
字段类型 |
字段解释 |
|
fsrq |
varchar(10) |
发生日期 |
|
szdm |
varchar(4) |
税种代码 |
|
zclx |
varchar(3) |
注册类型 |
|
nse |
decimal(16, 2) |
税额 |
|
dsdm |
varchar(7) |
地市代码 |
|
nd |
char(4) |
年度 |
|
表:dm_szdm | ||
|
字段名 |
字段类型 |
字段解释 |
|
ZSXM_DM |
char(2) |
税种代码 |
|
ZSXM_MC |
varchar(40) |
税种名称 |
(3)表脚本和数据,请看附件dm_szdm.txt和 rk34.txt,请直接执行脚本就可以。
(4)补充说明:完成后,请将算法和计算结果存成文档提交,文档须以答题人姓名为名。
题目考查的自己认为至少应该包括三点,一个是groupby分组统计、连接,一个是如何加入“合计”,再一个,表格题头中的“07年”如何替换成实际年份,就是可以根据存储过程传入的年份参数而相应修改。
当时考试的时候居然没有看到“合计”二字,只想到题头的“07年”如何改了,但没有找到方法,现在也没找到。
今天把“合计”功能做出来了。题头如何修改,还请大家指点,谢谢。
这是我今天补充后的存储过程:
CREATE PROCEDURE dbo.proc_shuizhongtongji
@nianfen varchar(4)
AS
BEGIN
create table #shuishoutongji (ZSXM_MC char(40),sum_nse decimal(16,2))
insert into #shuishoutongji
select dm_szdm.ZSXM_MC,t_dm.sum_nse
from dm_szdm,
(select szdm,sum(nse) sum_nse from rk34 where nd=@nianfen group by szdm) t_dm
where dm_szdm.ZSXM_DM=t_dm.szdm
declare @total decimal(16,2)
select @total=sum(sum_nse) from #shuishoutongji
insert into #shuishoutongji values('合计',@total)
select ZSXM_MC as '税种',sum_nse as '07年税额' from #shuishoutongji
drop table #shuishoutongji
END
执行代码:
exec proc_shuizhongtongji '2007'
注:以上代码在Sybase数据库中调试通过。
482

被折叠的 条评论
为什么被折叠?



