-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