高难度分组计算问题 ( 积分: 200 )

  • 主题发起人 主题发起人 jolsen
  • 开始时间 开始时间
J

jolsen

Unregistered / Unconfirmed
GUEST, unregistred user!
表TEST
字段:id,item,cwar,date,qhnd
具体要求
根据item和cwar分组,取一段date(时间)内最大date(时间)对应qhnd(库存),如果最大date(时间)有多条记录,取ID最大对应记录的库存
 
根据(物料)item和(仓库)cwar分组,取一段date(时间)内最大date(时间)对应qhnd(库存),如果最大date(时间)有多条记录,取ID最大对应记录的库存
id cwar item date qhnd
1 aa a12 2007-01-01 12
2 bb a12 2007-01-02 11
3 aa a13 2007-01-01 13
.........
比如取2007-01-01 到2007-01-01 按日期最新的库存数量按照仓库和物料分组列出
 
select qhnd from test where id=
(select max(a.id) from test a,
(select item,cwar,max(date) date from test group by item,cwar) b
where a.item=b.item and a.cwar=b.cwar and a.date=b.date
group by b.item,b.cwar,b.date)
 
觉得用sql语句可能不能产生,用存储过程吧。关注!!
 
迷途的羔羊你的好像不正确帮我再想想
 
没有,迷途的羔羊的好像是正确的吧。我试了,不过我这里要把id = 改成id in,不然提示错误。
 
建议您描述清楚,
俺也不大明白,
 
在一段时间应该改为截止任何一天比如2007-01-01
 
对的!
是要改成in
我没测试
 
谢谢迷途的羔羊和大家参与迷途的羔羊的是对的
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
923
SUNSTONE的Delphi笔记
S
后退
顶部