表结构为:(materiel)物料种类,supply(供应商)、period(期数1、2、3….)、物料数量(Tare)
假设本期为2,要从此表中查出如下视图 物料种类、供应商、本期数量、上期数量、累计数量
请问该如何写SQL语句 ---select materiel,
supply,
本期数量 = tare,
上期数量 = (select tare from Ta where materiel = a.materiel and supply = a.supply and period = a.period - 1),
累计数量 = tare+ (select tare from Ta where materiel = a.materiel and supply = a.supply and period = a.period - 1)
from ta a
where period = 2
假设本期为2,要从此表中查出如下视图 物料种类、供应商、本期数量、上期数量、累计数量
请问该如何写SQL语句 ---select materiel,
supply,
本期数量 = tare,
上期数量 = (select tare from Ta where materiel = a.materiel and supply = a.supply and period = a.period - 1),
累计数量 = tare+ (select tare from Ta where materiel = a.materiel and supply = a.supply and period = a.period - 1)
from ta a
where period = 2
解决方案 »
- 主表主键自增,如何用触发器向外键表插入数据?
- sql 查找最后一次匹配的位置
- plglenn33,什么意思啊,被封杀了,郁闷啊,我没有发广告,没有发政治信息,没有发黄色信息,没有发暴力信息,谁有这个权限封杀一个良民的号呢?
- (急)從我的應用程式怎樣判定MS SQL數據庫維護計劃是否正常運行
- |M| 如何找出表中递增的记录中中间隔开的最小数字
- 初学者的菜鸟问题,很菜,请各位多多帮忙呀!!!!感激不尽!关于用代码实现与数据库的连接
- sql server 连接 oracle 读view超慢怎么办?
- sql 2005连接的问题
- MAPINFO问题,急!
- SQL Server中有没有类似oracle的NVL()的语法?
- SQL Server 2000中事务复制所能支持的订阅服务器最多是多少个?
- SQL查询同样相加问题!
set @period=2
select a.materiel ,a.supply,a.Tare,
isnull(b.Tare,0) as last_Tare,
c.Tare as total_Tare
from T A
left join T B
on A.materiel =B.materiel
and A.supply=B.supply
and A.period=B.period+1
left join (
select material,supply,sum(Tare) as Tare
from T group by material,supply
where period<=@period) C
on A.materiel =C.materiel
and A.supply=C.supply
where period=@period