我使用一個巨大的醫院活動記錄數據集。每條記錄都代表某位病人完成的工作。我關注的是那些經歷過「門診」活動的患者,如出席預約或診所。 在數據中,我們得到的記錄是重複的;在六個月的時間內,病人被證明已經多次參加了他們的首次出院病人。這是發送數據的醫院的錯誤。我們必須確定這些記錄以回饋挑戰。SQL Server - 需要根據同一列的多個條件獲取重複記錄
我有以下SQL語句查找'病人代碼'出現多次的記錄。
SELECT * FROM dbo.Z_ForQueries a
JOIN (SELECT PatientCode
FROM dbo.Z_ForQueries
GROUP BY PatientCode
HAVING COUNT (*) > 1) b
ON a.PatientCode = b.PatientCode
WHERE [Multiple OPFA in month] = 'y'
我不能爲我的生活找出如何語法的下一個位;對於每組重複的患者代碼,我只想查看其中一條記錄的「月」爲7(這是我正在處理的當前月份)的記錄。如果月份中重複記錄的組中沒有「7」,那麼我不需要看到它們。
例如,患者代碼L000066715有4條記錄,我可以看到每條記錄代表同一醫院專業中相同的初始門診患者預約。顯然你只能'先參加'一次。每個記錄都有一個月份編號; 3,4,6 & 7.由於該患者代碼在第7個月有其重複記錄之一,因此我需要將其與其他3個記錄一起返回到結果中。
其他患者代碼存在一式兩份,但他們的記錄都不是來自第7個月的,所以他們不需要返回。
我希望我已經適當地設置了一些幫助!謝謝。
是這個TSQL? PL/SQL? MySQL的? – ojf
哦,對不起,TSQL。 – steveck79