SQL语句计算剩余数量

数据库结构如下名称需求时间需求数量起始库存数量当时库存数量笔记本2013-1-111010笔记本2013-2-12109笔记本2013-3-13107笔记本2013-4-... 数据库结构如下
名称 需求时间 需求数量 起始库存数量 当时库存数量
笔记本 2013-1-1 1 10 10
笔记本 2013-2-1 2 10 9
笔记本 2013-3-1 3 10 7
笔记本 2013-4-1 4 10 4

"当时库存数量"如何通过前面的数据计算出来?
展开
 我来答
hnhygkx1987
推荐于2016-01-06 · TA获得超过209个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:137万
展开全部
SELECT  

名称,需求时间,需求数量,起始库存数量,

(

 SELECT B.当时库存数量- B.需求数量  FROM TABLE AS B WHERE B.名称 =A.名称 AND B.需求时间<A.需求时间  ORDER BY 需求时间 DESC FETCH FIRST 1 ROWS ONLY 

)AS 当时库存数量

FROM  TABLE  AS A

楼主上面这样写试试,我针对的是DB2 的数据库,不过思路大致都是一样的:

在子查询中查出名称=当前名称,且时间<当前记录的时间,并按需求时间降序,取第一条记录,即最近的那条记录的 当时库存数量 -需求数量 即可得到所需!

更多追问追答
追问
我的数据库是MYSQL的不知道是否支持 FETCH FIRST 1 ROWS ONLY
追答
那就用 select   limit 1 ....这种写法吧!
小狂中E
2013-11-20 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1021万
展开全部
select 当时库存数量
from 表
where 名称=@名称 and
需求时间=(
select max(需求时间)
from 表
where 名称=@名称 and 需求时间<=@时间)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式