更新更加清晰SQL - 集團按Select查詢是接近,但我需要使它稍微獨特
SQL Sever的2000年。我試圖讓這個查詢稍微獨特。
查詢:
USE MyDatabase
GO
SELECT MAX(x.provider_entry_id) as provider_entry_id, -- this ID is the PK
x.provider_entry_type_id, -- the entry for the specific provider type (the ID)
x.provider_entry, -- the actual provider entry (the ID)
x.provider_entry_visit_dt -- the date the entry was created
FROM tbl_claimant_provider_entry x
JOIN (SELECT p.provider_entry_type_id,
p.provider_entry,
MAX(provider_entry_visit_dt) AS max_date
FROM tbl_claimant_provider_entry p
WHERE provider_entry_clmnt = 4963 -- change this for you user
GROUP BY p.provider_entry_type_id, p.provider_entry) y ON y.provider_entry_type_id = x.provider_entry_type_id
AND y.max_date = x.provider_entry_visit_dt
GROUP BY x.provider_entry_type_id, x.provider_entry, x.provider_entry_visit_dt
回報:
provider_entry_id provider_entry_type_id provider_entry provider_entry_visit_dt
1052 109 1088 2013-01-22 00:00:00.000
1051 109 1665 2013-01-23 00:00:00.000
1049 130 264 2013-01-01 00:00:00.000
1050 130 1126 2013-01-02 00:00:00.000
1045 132 NULL 2013-01-22 00:00:00.000
1047 132 260 2013-01-22 00:00:00.000
1044 132 1115 2013-01-10 00:00:00.000
1048 132 1130 2013-01-22 00:00:00.000
1043 142 1356 2013-01-10 00:00:00.000
我期待縮小這個名單給我根據最近的每個唯一provider_entry_type_id
只有一個實例provider_entry_visit_dt
所以結果會是(請記住,不需要爲provider_entry_visit_dt提供tie-breakers,這只是一個錯誤對我而言):
provider_entry_id provider_entry_type_id provider_entry provider_entry_visit_dt
1051 109 1665 2013-01-23 00:00:00.000
1050 130 1126 2013-01-02 00:00:00.000
1048 132 1130 2013-01-22 00:00:00.000
1043 142 1356 2013-01-10 00:00:00.000
使用'distinct'?我們需要更多關於兩種選擇中的哪一種的信息。 – JonH
那麼你需要哪個provider_entry和created_date? –
@JonH尋找provider_entry_type_id – Macness