结存台账语句

qq_27341511 2015-08-09 11:52:02
SELECT DDATE,IQTYIN,IQTYOUT,IQTYBALANCE FROM TABLE1
日期 入库数 出库数 结存数

例如:
id, DDATE, IQTYIN,IQTYOUT,IQTYBALANCE
1 1-1 200
2 1-2 300
3 1-3 100
4 1-4 150
5 1-5 200

求IQTYBALANCE 语句

id, DDATE, IQTYIN,IQTYOUT,IQTYBALANCE
1 1-1 200 200
2 1-2 300 500
3 1-3 100 400
4 1-4 150 550
5 1-5 200 350
...全文
109 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
si12si12 2015-08-11
  • 打赏
  • 举报
回复
select *,(select sum(收入-支出) from 表 where 你的表的主键<=tem.你的表的主键) 本次余额 from 表 tem 
LongRui888 2015-08-10
  • 打赏
  • 举报
回复
引用 1 楼 qq_27341511 的回复:
求解! 谢谢
试试这个:

create table table1(id int,    DDATE varchar(10), IQTYIN int,IQTYOUT int ,IQTYBALANCE int)
go


insert into table1
select 1       ,'1-1',     200,null,null   union all  
select 2       ,'1-2',     300,null,null   union all
select 3       ,'1-3',     null,100,null   union all
select 4       ,'1-4',    150,null,null       union all
select 5       ,'1-5',    null,200,null
go

select id,ddate,
       IQTYIN,IQTYOUT,
	   (select sum(isnull(IQTYIN,0))-sum(isnull(IQTYOUT,0)) from table1 t2 where t1.id>=t2.id) as IQTYBALANCE
from table1 t1
/*
id	ddate	IQTYIN	IQTYOUT	IQTYBALANCE
1	1-1	200	NULL	200
2	1-2	300	NULL	500
3	1-3	NULL	100	400
4	1-4	150	NULL	550
5	1-5	NULL	200	350
*/
qq_27341511 2015-08-10
  • 打赏
  • 举报
回复
求解! 谢谢
  • 打赏
  • 举报
回复
引用 2 楼 yupeigu 的回复:
[quote=引用 1 楼 qq_27341511 的回复:] 求解! 谢谢
试试这个:

create table table1(id int,    DDATE varchar(10), IQTYIN int,IQTYOUT int ,IQTYBALANCE int)
go


insert into table1
select 1       ,'1-1',     200,null,null   union all  
select 2       ,'1-2',     300,null,null   union all
select 3       ,'1-3',     null,100,null   union all
select 4       ,'1-4',    150,null,null       union all
select 5       ,'1-5',    null,200,null
go

select id,ddate,
       IQTYIN,IQTYOUT,
	   (select sum(isnull(IQTYIN,0))-sum(isnull(IQTYOUT,0)) from table1 t2 where t1.id>=t2.id) as IQTYBALANCE
from table1 t1
/*
id	ddate	IQTYIN	IQTYOUT	IQTYBALANCE
1	1-1	200	NULL	200
2	1-2	300	NULL	500
3	1-3	NULL	100	400
4	1-4	150	NULL	550
5	1-5	NULL	200	350
*/
[/quote] 我测试了一下,居然可以,sql语句可以这样写也是,也真是高手

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧