读书人

(SQL)相信情不少人遇到

发布时间: 2012-04-09 13:41:25 作者: rapoo

(SQL求助)相信情不少人遇到
TABLE如下
日期 收入 支出
2000/3/1 50 30
2000/3/2 45 60
2000/3/5 60 10

能否用SELECT句得出以下果
1.
日期 收入 支出 余
2000/3/1 50 30 20
2000/3/2 45 60 5
2000/3/5 60 10 55
2.
TABLE加入一行
2000/3/5 60 10

日期 收入 支出 余
2000/3/1 50 30 20
2000/3/2 45 60 5
2000/3/5 120 20 105
3.
日期 收入 支出 余
2000/3/1 50 30 20
2000/3/2 45 60 5
2000/3/3 0 0 5
2000/3/4 0 0 5
2000/3/5 120 20 105
相信情不少人遇到


[解决办法]
select 日期 , 收入 =sum(收入) , 支出=sum(支出),余=sum(收入)-sum(支出) from 表 group by 日期
[解决办法]
create table #a(d datetime,i int,o int,num int)
--试试
insert #a
select '2000/3/1 ' ,50, 30 ,null union all
select '2000/3/2 ' ,45, 60 ,null union all
select '2000/3/5 ' ,60, 10,null union all
select '2000/3/5 ' ,60, 10,null

declare @num int
set @num = 0

update #a
set @num = @num + i - o,num = @num

select * from #a

drop table #a


d i o num
------------------------------------------------------ ----------- ----------- -----------
2000-03-01 00:00:00.000 50 30 20
2000-03-02 00:00:00.000 45 60 5
2000-03-05 00:00:00.000 60 10 55
2000-03-05 00:00:00.000 60 10 105

读书人网 >SQL Server

热点推荐