Eliminar script SQL Server 2008
Aquí hay una situación que estoy tratando de resolver. Tengo una tabla que está cargada con duplicados. Ocurrió porque se cargaron filas similares de dos fuentes diferentes. Eso está siendo atendido en el paquete.
Pero quiero eliminar esas filas que están duplicadas. No hay ningún atributo clave aquí (no puedo usar ningún PK). Los dosfuentes son la ciudad de Cleveland y el estado de Ohio. Y tengo una columna que muestra de qué fuente se cargó la fila (DataSource
columna).
Así en la fila se muestra comoDataSource = 'Cleveland'
oDataSource = 'OhioState'
.
A continuación se muestra una muestra que estoy atascado. ¿Podrían tener un enfoque diferente para eliminar esas filas que la mía no parece funcionar bien? Gracias de nuevo, chicos. No creo que la forma en que estoy tratando de acercarme sea correcta ...
IF OBJECT_ID('tempdb..#Ohio') IS NOT NULL
BEGIN
DROP TABLE #Ohio
END
;WITH Oh AS
( SELECT ROW_NUMBER()OVER
(
PARTITION by UID,ADDRESS,CITY,STATE,Zip
ORDER BY
UID
) AS IA,UID,ADDRESS,City,State,Zip FROM F_staRes
)
SELECT * INTO #Ohio FROM Oh WHERE IA> 1 AND DataSource='Ohio'
IF OBJECT_ID('tempdb..#Clevland') IS NOT NULL
BEGIN
DROP TABLE #Clevland
END
;WITH Cle AS
( SELECT ROW_NUMBER()OVER
(
PARTITION by UID,ADDRESS,CITY,STATE,Zip
ORDER BY
UID
) AS CE,UID,ADDRESS,City,State,Zip FROM F_staRes
)
SELECT * INTO #Clevland FROM Cle WHERE CE> 1 AND DataSource!='Ohio'
select * from #Clevland--I want to delete this records
Intersect
select * from #Ohio