如何从表格中删除重复的行?我在互联网上搜索过,但我还没有能够解决这个问题。这就是我写的:
WITH C As
(
Select A.PatientID, A.DoctorID
From Appointment As A
)
Select Distinct A.PatientID, A2.PatientID, A.DoctorID
From Appointment As A
Inner Join C as A2
On A.DoctorID = A2.DoctorID
Where A.PatientID <> A2.PatientID
Order By A.PatientID Asc
结果如下:
在上图中,您会注意到第1行中的数据在第6行中重复。如何删除所有重复的行?有什么建议吗?
答案 0 :(得分:3)
你不需要这个
的CTE尝试
SELECT DISTINCT PatientId, PatientId, DoctorID
FROM Appointment A1
JOIN Appointment A2
ON A1.PatientId < A2.PatientId
AND A1.DoctorID = A2.DoctorID
Order By A1.PatientID Asc
答案 1 :(得分:1)
您无法生成对称重复项 首先,任意选择患者A至少是具有较小ID的一对
...
Where A.PatientID < A2.PatientID
如果您在原始表中有重复但是它的名称应该是主键和/或具有非NULL&amp; “PatientID”的唯一索引