Удалить скрипт SQL Server 2008
Вот ситуация, которую я пытаюсь разрешить. У меня есть таблица, которая загружается с дубликатами. Это произошло потому, что похожие строки были загружены из двух разных источников. Об этом позаботятся в упаковке.
Но я хочу удалить те строки, которые являются дубликатами. Здесь нет ключевого атрибута (я могуне используйте ПК). Дваисточники Кливленд-Сити и штат Огайо. И у меня есть столбец, который показывает, из какого источника была загружена строка (DataSource
колонка).
Таким образом, в строке это выглядит какDataSource = 'Cleveland'
или же .DataSource = 'OhioState'
Ниже приведен образец, с которым я застрял. Не могли бы вы, ребята, по-другому подходить к удалению этих строк, которые у меня нет?кажется, работает хорошо? Еще раз спасибо, ребята .. я нея думаю, что способ, которым я пытаюсь приблизиться, даже правильный ...
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