我正在嘗試製作從給定表中獲取最低最近日期的最大價格的過程。從sql server中的最短日期獲取最大價格
在過程中,我只能通過MaterialNo和Date,基於此我想要最近的最低月份的最高價格。
步驟
Declare @MaterialNo numeric(18,0),
@PassDate smalldatetime,
set @MaterialNo = 3
set @PassDate = '01-jun-2013'
Select Statement (i need This Statement)
Where MaterialNo = @MaterialNo
我的表結構是像下面
臨時表
MaterialNo Date Price
1 May, 01 2013 28
1 June, 01 2013 25
1 June, 01 2013 30
1 August, 01 2013 35
2 November, 01 2013 40
2 November, 01 2013 50
2 May, 05 2013 15
3 July, 01 2013 14
3 August, 01 2013 20
3 December, 01 2012 12
的預期輸出,
如果我通過@MaterialNo 1
和@PassDate = '30-Jun-2013'
輸出= 30
如果我通過@MaterialNo 1
和@PassDate = '30-Jul-2013'
輸出= 30
如果我通過@MaterialNo 1
和@PassDate = '30-Aug-2013'
輸出= 35
如果我通過@MaterialNo 1
和@PassDate = '30-May-2013'
輸出= 28
如果我通過@MaterialNo 2
和@PassDate = '30-Nov-2013'
輸出= 50
如果我通過@MaterialNo 2
和@PassDate = '30-Aug-2013'
輸出= 15
如果我通過@MaterialNo 3
和@PassDate = '15-Dec-2013'
輸出= 12
如果我通過@MaterialNo 3
和@PassDate = '10-Nov-2013'
輸出= 20
如果我通過@MaterialNo 3
和@PassDate = '20-Sep-2013'
輸出= 20
如果我通過@MaterialNo 3
和@PassDate = '30-Jul-2013'
輸出= 14
感謝哥們,你的質疑絕對是正確的,但是,rsbarro的查詢更簡單和優化... –
不用擔心,我同意。 – Szymon