我需要有關高級SQL查詢(MSSQL 2000)的幫助。從列中唯一的數據庫中獲取值並添加條件
我有一張名爲「結果」的表格,列出了100米和200米比賽時間的田徑運動。一個參賽者可以有幾個比賽時間,但我想只顯示每個參賽者每個參賽者的最佳時間。
結果表包含五列Result_id,athlete_id,result_time,result_date,event_code。因此,當列出值時,athlete_id必須是唯一的,result_time必須是最快(最低)的值。另外,我希望能夠選擇event_code應該是「= 1」還是「= 2」,因爲100和200米結果時間在同一個表中混合。
幾天前我問了一個類似的問題,但沒有event_code條件。
這是我們想出的答案。
select r.*
from result r
inner join (
select athelete_id, min(result_time) as FastestTime
from result
group by athelete_id
) rm on r.athelete_id = rm.athelete_id and r.result_time = rm.FastestTime
任何想法如何將event_code條件添加到此代碼段?
非常感謝!偉大的作品 – Inzajt 2012-07-29 15:37:46