`
yxsylyh
  • 浏览: 31987 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

一个上机考试题

阅读更多

这是培训数据库课程后的考试题上机题内容,昨天考的。当时做的时候没有看到表格中的“合计”,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数据库中调试通过。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics