求SQL日期累加方式(100)

  • 主题发起人 主题发起人 漂流的雲
  • 开始时间 开始时间

漂流的雲

Unregistered / Unconfirmed
GUEST, unregistred user!
表A名称 预计数量 A 1000 B 2000 C 500 表B名称 入库数量 日期A 800 2009-5-1A 200 2009-5-10A 100 2009-5-13B 1500 2009-5-12B 600 2009-5-12C 300 2009-5-10能否实现,当累计入库数量大于或等于预计产量时,即取该入库日期。查询结果如下名称 数量 日期 A 1000 2009-5-10B 2000 2009-5-12C 500
 
还真有点难度!Select A.*, Y.日期1From 表A a Left Join (Select X.名称, min(日期) 日期1 From(Select b.*, A.预计数量, (Select Sum(入库数量) as 入库数量1 from 表B c where c.名称=b.名称 and c.日期<=b.日期) as 入库数量1 from 表B b, 表A a where b.名称=a.名称 ) X Where 入库数量1>预计数量 group by X.名称 ) Y on a.名称=Y.名称
 
你太有才了,这样也能想到,试过了,语句上少了点内容,加上去就能用了,谢谢!!Select A.*, Y.日期1From 表A a Left Join (Select X.名称, min(日期) 日期1 From(Select b.*, A.预计数量, (Select Sum(入库数量) as 入库数量1 from 表B c where c.名称=b.名称 and c.日期<=b.日期) as 入库数量1 from 表B b, 表A a where b.名称=a.名称 ) X Where 入库数量1>预计数量 //这里应该是 入库数量1>=预计数量 group by X.名称 ) Y on a.名称=Y.名称
 
谢谢夸奖,给分!可以看懂的人水平也应该不差。
 
接受答案了.
 
SELECT a.名称, a.数量, (select sum(数量) from 表B where ID<=a.ID) AS 累计FROM 表B AS aINNER JOIN 表A bon a.数量=b.数量
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部