一个关于跨年度进行统计的问题,希望各位大侠不吝赐教(100分)

  • 主题发起人 主题发起人 knight.r
  • 开始时间 开始时间
K

knight.r

Unregistered / Unconfirmed
GUEST, unregistred user!
[:(!]在数据库开发中,进行一些对比分析时用到了年度表的数据比较,因为客户每年的数据
量比较大,所以考虑每年生成一个新库来满足用户,新创建的库和原库结构相同的情况下,
增加上年数据库的主表作为连接查询的依据,我的想法是这样的,在做年度结转的时候,生成
新库的同时,保留上年的主表在其后缀名加上年度,生成一张临时表将本年和上年的主表作为
字段,这样在查询的时候可以用这张临时表来做连接手段,但用户在查询界面中的选取是不
受限制的,所以小弟的问题是首先在用户选定时间范围的情况下,怎样在数据库中进行相应表
的检索来生成临时表,临时表的字段中如无满足用户选定的时间范围的内容,应怎么处理?
当然我上面是以一张表考虑,多张表应该差不多的吧,请不吝赐教。我在学习成长的过程中
有许多问题,如果哪位高手有兴趣,希望能成为朋友,互相激励--QQ:77789976
E_MAIL:knight.r@163.com
 
对不起,忘了告诉大家我用的什么数据库了,SQL SERVER 7
 
大家不要被写的那么多的话语迷惑,其实可以认为数据库中已经存在了结构相同的几张表,
他们的区别在表的名称后加上年度作为后缀,当然本年的没有后缀,然后是怎样在用户选取
查询范围的情况下,检索数据库中有无那年的主表,生成临时表来将用户查询范围内的主表
名称储存,然后的事情小弟的心里就有数了,就是跨表查询的事情了。
 
先检查是否有某年的表有则用
union all 进行查询
 
union all 我觉得不好的原因是不能动态的添加,如果客户查询的范围超出怎么办,我
是这样想的,在查询中到是常用,只是不知合适不这种场合
 
好,吃过午饭没有,各位DX,小弟现在已在电脑前守侯你的好的建议,THANKS A LOT!
 
我是这样的,根据下面科室对数据的要求,将其数据按一些指标统计出来,存在某
些固定的中间结果表中,每月统计出来并存入这些表中,今后做跨年跨月跨季统计
均从中间结果表中取就行了,此种方法我们用着还可以,但扩展性不好,如果有什么
临时需要,就没法做了。
 
to lufang
我觉得你的方式很好,我们的系统也有每个月的统计,但影响主表的统计是主要的。
里面包含了客户每天的所有单据类型的内容,系统的更改初衷是在保存完整的用户
数据基础上增加的,所以才会很麻烦的先将用户的数据库进行备份,查询用户想
比较的有数据的年份的结果
 
私人认为,数据库每年一个,库名称最好包含年。例如:Database2000。年度转结的时候,判断是否本年数据库存在,存在覆盖。不存在创建。然后用语句实现不同数据库的表导出导入。
需要注意的是系统时间不能更改。每年一次新建库,每年一次年终转结要考虑仔细些。数据不要弄丢了。
这种设计思想,便于以后查询。
 
现在我就是这种思想,请问高手能交流点实际操作的经验么
 
还请各位辛苦一下,多多帮忙,愿奉上分值200
 
用动态语句不就行了,我是老玩这个的了!
 
怎样应用动态语句,就是因为这我不是很熟练才向大家求救的原因呀
 
除了动态拼SQL恐怕没有其他办法了
 
yzqangle的意见对!若需要查询的表都向下一年的数据库里插入的话,
最后的数据量肯定也不会小,应该数据库包含年,查询语句应该用union all
比如:select …… from 数据库2002..tablename union all
select …… from 数据库2001..tablename
动态合成汉字部分+年度即可
 
多人接受答案了。
 
后退
顶部