-1
我試圖拉起所有患者記錄(沒有重複)。在我的數據庫中,所有患者都有多個訪問ID和多個訪問日期。從有多個事件的表中獲取唯一記錄
我已經試過這一個:
SELECT DISTINCT *
FROM PatientVisit
WHERE Visit IN (SELECT MIN(Visit) FROM PatientVisit GROUP BY PatientProfileId)
我試圖拉起所有患者記錄(沒有重複)。在我的數據庫中,所有患者都有多個訪問ID和多個訪問日期。從有多個事件的表中獲取唯一記錄
我已經試過這一個:
SELECT DISTINCT *
FROM PatientVisit
WHERE Visit IN (SELECT MIN(Visit) FROM PatientVisit GROUP BY PatientProfileId)
試試這個。
SELECT
DISTINCT VisitMain.PatientID
,MaxVisit.FirstVisit
,MinVisit.LastVisit
FROM
PatientVisit VisitMain (NOLOCK)
LEFT JOIN
(SELECT
PatientID,FirstVisit = MAX(CONVERT(DATETIME,Visit))
FROM
PatientVisit (NOLOCK)
GROUP BY
PatientID) MaxVisit
ON VisitMain.PatientID = MaxVisit.PatientID
LEFT JOIN
(SELECT
PatientID,LastVisit = MIN(CONVERT(DATETIME,Visit))
FROM
PatientVisit (NOLOCK)
GROUP BY
PatientID) MinVisit
ON VisitMain.PatientID = MinVisit.PatientID
你有問題要問?樣本數據,期望的結果和適當的數據庫標籤都很有幫助。 –
如果您只需要不同的患者數據,只需從您選擇的不同語句中刪除這些列。即「從患者身上選擇不同的姓名,姓氏,姓氏」。例子是必要的。 – Aron