有意思,这样的语句只用T-SQL我不会,帮你顶!
解决方案 »
- 使用left函数,如果字段的长度不够指定的长度,就会报错,该如何解决
- sql server 2005新建登录名的问题
- 急急急 truncate表后怎么恢复数据,没有备份
- Microsoft SQL Server 2005安装出错,请各位帮忙解决,非常感谢!
- 生日我用smalldatetime,结果在ASP.NET变成1983-2-12 0:00:00,我要显示的是1983-2-12 ,怎么办?
- 当客户机连接不上MS SQL Server时,如何让它快速返回连接失败?
- 一个连接问题
- 请问:我要 create function ,将一个表名作为参数传入,应该怎么做?
- 数据库设计一个问题怎么解决! 序号问题
- 近段时间学习SQL,忽然有些发现,希望可以共同探讨
- 大家再帮忙写一个事物处理,谢谢大家了!!!!
- 查询
from 生成表 a join 库存表 b on a.子产品=b.产品
产品 ,子部品, 库存
A B 2-4 = -2
C B -2-5=-7
这部分说的不是太清楚,可以将你的数据表结果清楚的说明一下,问题应该不太难
ww0036 #17-MKD-EML MKD-EML 0.12 -2 -2-0.12
ww0097 #17-MKD-EML MKD-EML 0.14 -2 -2-0.12-0.14
ww0041 HB-M8X30S HB 9 -495 -495-9
WW0042 HB-M8X30S HB 9 -495 -495-9-9
select 订号,子部品编码,子部品名称,计划数量合计,库存
,在库=库存-(select sum(计划数量合计) from 表 where 订号<=a.订号)
from 表 a
create table 表(订号 char(6),子部品编码 varchar(15),子部品名称 varchar(10)
,计划数量合计 decimal(10,2),库存 decimal(10,2),在库 decimal(10,2))
insert 表 select 'ww0036','#17-MKD-EML','MKD-EML',0.12, -2 ,null
union all select 'ww0097','#17-MKD-EML','MKD-EML',0.14, -2 ,null
union all select 'ww0041','HB-M8X30S' ,'HB' ,9 , -495,null
union all select 'WW0042','HB-M8X30S' ,'HB' ,9 , -495,null
go--查询
select 订号,子部品编码,子部品名称,计划数量合计,库存
,在库=库存-(select sum(计划数量合计) from 表 where 订号<=a.订号)
from 表 a
go--删除测试
drop table 表/*--测试结果
订号 子部品编码 子部品名称 计划数量合计 库存 在库
------ --------------- ---------- ------------ ------------ -------
ww0036 #17-MKD-EML MKD-EML .12 -2.00 -2.12
ww0097 #17-MKD-EML MKD-EML .14 -2.00 -20.26
ww0041 HB-M8X30S HB 9.00 -495.00 -504.12
WW0042 HB-M8X30S HB 9.00 -495.00 -513.12(所影响的行数为 4 行)--*/
select 订号,子部品编码,子部品名称,计划数量合计,库存
,在库=库存-(select sum(计划数量合计) from 表 where 订号<=a.订号 AND 子部品编码=A.子部品编码)
from 表 a
go