这个sql存储过程怎么写呀?大家帮忙看一下.数据库sql server2000(100分)

  • 主题发起人 主题发起人 wangwang5188
  • 开始时间 开始时间
我问你下,你 期初结余分数 是查询出来的,还是在数据表里的?

如果是查询出来,随着数据量的增大,到后来必须会影响速度,
应该做月结
 
是查询出来的,我的系统数据量不会特别大的,所以没有月结的操作.请帮我看一下上面的语句如何修改.谢谢啦!
 
我在本期节余里面没有加起初数,你加上起初数就行了。
select vipzh.vipkh,vipzh.xm,vipzh.addr,isnull(tem1.qcs,0),isnull(tem2.bqzj,0),isnull(tem2.bqjs,0),isnull(tem2.bqjy+tem1.qcs,0) from vipzh
left join(select vipkh,sum(zjjf)-sum(jsjf) as qcs from jfb where fsrq<@startdate group by vipkh) tem1 on vipzh.vipkh=tem1.vipkh
left join(select vipkh,sum(zjjf) as bqzj,sum(jsjf) as bqjs,sum(zjjf)-sum(jsjf) as bqjy from jfb where fsrq between @startdate and @enddate group by vipkh) tem2 on vipzh.vipkh=tem2.vipkh;
 
to hityou
我也是这么做的呀,可是本期结余的结果就是不正确.我也在纳闷.麻烦在试一下.行的话马上给你加分.
 
为什么期初结余就是加不上去呀.[?]
 
不好意思,看错了。把期初数加在本期减少上面了,放在后面就可以了
select vipzh.vipkh,vipzh.xm,vipzh.addr,isnull(tem1.qcs,0),isnull(tem2.bqzj,0),isnull(tem2.bqjs,0),isnull(tem2.bqjy+tem1.qcs,0) from vipzh
left join(select vipkh,sum(zjjf)-sum(jsjf) as qcs from jfb where fsrq<@startdate group by vipkh) tem1 on vipzh.vipkh=tem1.vipkh
left join(select vipkh,sum(zjjf) as bqzj,sum(jsjf) as bqjs,sum(zjjf)-sum(jsjf) as bqjy from jfb where fsrq between @startdate and @enddate group by vipkh) tem2 on vipzh.vipkh=tem2.vipkh;
 
你这次写的和上次写的一样呀,本期结余还是不正确.请在看一下,
 
我这边查了,是对的。
 
1 aa NULL 200 200 150 250
2 bb NULL 50 500 250 300
3 cc NULL 0 0 0 0
4 dd NULL 0 0 0 0
5 ee NULL 0 0 0 0


我们的表结构一样么,你的表里面都有默认值么?
 
恩,是一样的,我在查询分析里面写错了,还以为这上面也写错了。
 
我总感觉应该对了,但是期初结余就是不参加,是不是还有什么地方出错了.是不是我的sql server2000出问题了?
 
对了,谢谢你.你的QQ号是多少.可以告诉我吗?以后做个朋友.
 
150617323,好的,我这边实验是对的,可能就是我们的表不太一样。
 
后退
顶部