我不是一個SQL的傢伙,我用它在過去,很少有一個問題,不能由谷歌解決...但是這次我需要問社區。每個產品返回一個SQL行與價格和最新日期
我有一個名爲「交易」有數據這樣的表的數據庫:
ProdNo | Price | TransactionDate | PurchasedBy | etc.....
----------------------------------------------------------
3STRFLEX | 13.02 | 20162911 | AWC | .....
3STRFLEX | 15.02 | 20162011 | DWC | .....
3STRFLEX | 15.02 | 20160101 | AWC | .....
AFTV2 | 35.49 | 20162708 | AWC | .....
AFTV2 | 29.99 | 20160106 | DWC | .....
AFTV2 | 29.99 | 20160205 | AWC | .....
所需的輸出是:
ProdNo | Price | TransactionDate
-----------------------------------
3STRFLEX | 13.02 | 20162911
AFTV2 | 35.49 | 20162708
我已經嘗試了寫這個我自己和我結束與SQL是這樣的:
select t.ProdNo, t.TransactionDate as 'LastPurchaseDate', t.Price
from Transactions t
inner join (
select ProdNo, max(TransactionDate) as 'LastPurchaseDate'
from Transactions
WHERE Price > 0
group by ProdNo
) tm on t.ProdNo = tm.ProdNo and LastPurchaseDate = tm.LastPurchaseDate
但是在我的數據集中這返回(減少),其中顯示多每個產品
ProdNo | LastPurchaseDate | Price
3STRFLX | 20120924 | 0.000000
3STRFLX | 20120924 | 22.000000
3STRFLX | 20150623 | 0.000000
3STRFLX | 20150623 | 1.220000
3STRFLX | 20150623 | 1.222197
行,以便確認:我想每個產品1行中,無論價格是購買最新的日期,但我需要在返回的數據中的價格。
感謝
這個問題接受了下來投票。但沒有評論,OP沒有辦法解決/解決這個問題。這也使得很難辯論這一點。我看不出有什麼問題。但是,也許我會同意一個評論......按照我的觀點,我已經提出了包括樣本數據,預期產出,原始努力和對問題的明確描述。 –
@ destination-data謝謝。我也沒有看到這個問題,也許我錯過了一些規則或東西 –