Citat:
Ursprungligen postat av Teffie
Att lista vilka som är dubbletter har jag redan lyckats med det är det som kommer efter det som är det jobbiga i den här frågan.
Om du kan lista alla som är dubletter så kan du även omformulera samma sats väldigt enkelt så att den istället för att lista tar bort dessa. Generellt så måste du dock komma ihåg att sätta någon slags kriterium för vad som är originalet - exempelvis den post med lägst datum i en viss kolumn. Exempel nedan:
Kod:
SELECT P.PersonID AS [Original], PP.PersonID AS [Dubblett]
FROM Person P
JOIN Person PP ON PP.RegNo = P.RegNo AND PP.CreatedDate > P.CreatedDate
DELETE PP
FROM Person P
JOIN Person PP ON PP.RegNo = P.RegNo AND PP.CreatedDate > P.CreatedDate
Är tabellerna refererade från annat håll så släng in dessa i joinen och ta bort först.
Bit av kaka