求SQL取出最大月份的庫存數量 謝謝
本帖最后由 erpcsu 于 2013-03-01 09:27:49 编辑
表INVLB,表結構:
LB001 char(20)(品號),
LB002 char(6)(庫存年月),LB003 numeric(16.6)(月初總數量)
11312021-00, ,201210, 20
11312021-00, ,201211, 30
11312021-00, ,201212, 40
...
為了計算當前的庫存數量,取出最大月份的庫存數,
使用 select top 1 LB001,MAX(LB002) AS LB002,LB003
from INVLB
WHERE LB001='11312021-00'
GROUP BY LB001,LB003
可以實現:
11312021-00, ,201212, 40
.
問題:數據庫裡有很多料號,如何取出每個料號的最大月份的庫存數(不能直接指定當前的最大月份LB002,而是去表裡判斷)
LB001 char(20)(品號),LB002 char(6)(庫存年月),LB003 numeric(16.6)(月初總數量)
11312021-00, ,201210, 20
11312021-00, ,201211, 30
11312021-00, ,201212, 40
11312021-01, ,201210, 20
11312021-01, ,201211, 30
11312021-01, ,201212, 400
...
求結果顯示為
11312021-00, ,201212, 40
11312021-01, ,201212, 400
...
謝謝!
------解决方案--------------------1你的语句是错的,top 1不排序不一定取出哪条数据
2、如下语句试试
select * from INVLB a
where not exists (
select 1 from INVLB b
where b.LB001 = a.LB001
and b.LB002 > a.LB002
)