存储过程问题 ( 积分: 50 )

  • 主题发起人 主题发起人 dplayer
  • 开始时间 开始时间
D

dplayer

Unregistered / Unconfirmed
GUEST, unregistred user!
表一结构<br>日期&nbsp;&nbsp;&nbsp; 收入&nbsp;&nbsp;&nbsp;支出&nbsp;&nbsp;&nbsp;&nbsp;<br>2007-11-1&nbsp;&nbsp; 100 50 <br>2007-11-2 200 100 <br>2007-11-3 200 50 <br><br>如何用存储过程反回如下结果。<br><br>日期 收入&nbsp;&nbsp;&nbsp;支出&nbsp;&nbsp;&nbsp;&nbsp;结余<br>2007-11-1 100 50 50<br>2007-11-2 200 100 150<br>2007-11-3 200 50 300
 
谢谢各位大人了。没人给个提示什么的吗
 
SELECT&nbsp;日期,<br> 收入&nbsp;=&nbsp;ISNULL(SUM(收入),0),<br> 支出&nbsp;=&nbsp;ISNULL(SUM(支出),0),<br> 结余&nbsp;=&nbsp;ISNULL((SELECT&nbsp;SUM(收入-支出)&nbsp;FROM&nbsp;tb&nbsp;WHERE&nbsp;日期&lt;=MAX(a.日期)),0)<br>FROM&nbsp;tb&nbsp;a<br>GROUP&nbsp;BY&nbsp;日期<br>ORDER&nbsp;BY&nbsp;日期
 
create&nbsp;proc&nbsp;P_name<br>as<br>select&nbsp;日期,收入,支出,(收入-支出)as&nbsp;结余<br>from&nbsp;table
 
create&nbsp;Procedure&nbsp;dbo.Sp_DayRece<br>as<br>select&nbsp;日期,Sum(收入),Sum(支出),Sum(收入-支出)as&nbsp;结余<br>from&nbsp;table&nbsp;Group&nbsp;by&nbsp;日期<br><br>----就这样!OK就可以知每日总收入,支出,结余<br>如你想加入参数输入一个日期知每日的为<br>create&nbsp;Procedure&nbsp;dbo.Sp_DayRece<br>@DateTime&nbsp;Varchar(30)<br>as<br>select&nbsp;日期,Sum(收入),Sum(支出),Sum(收入-支出)as&nbsp;结余<br>from&nbsp;table&nbsp;Group&nbsp;by&nbsp;日期<br>--调用为&nbsp;exec&nbsp;Sp_DayRece&nbsp;'2007-12-07'
 
终于有个可行性方案&nbsp;&nbsp;s00000000001&nbsp;的最符合要求了。谢谢了各位
 
后退
顶部