重複の可能性:
削除スクリプト SQL Server 2008
これが私が解決しようとしている状況です。重複がロードされたテーブルがあります。これは、類似した行が 2 つ以上の異なるソースからロードされたために発生しました。それはパッケージで世話をされています。
しかし、重複している行を削除したいと思います。ここにはキー属性はありません。ソースの例はCleveland City
とOhio State
です。そして、行がどのソースからロードされたかを示す列があります(DataSource
列)。
したがって、行ではDataSource = 'Cleveland'
またはとして表示されDataSource = 'Ohio'
ます。
オハイオからロードされたときに重複したレコードを保持したいと考えています。結合を使用する必要があるかもしれない 100k レコード。もう 1 つ、私のメイン テーブルは、rId
各行に固有の他の 4 つまたは 5 つのテーブルと結合されています。そのため、私がこのテーブルに結合しているのが見えますが、私が正しくやったとは思いません。
私の仕事をチェックしてもらえますか?本当に感謝しています。
--Delete ct from--this is to delete w/c is my main intention
SELECT *
FROM
(
(
SELECT Rid,UID,ADDRESS,City,State,Zip,DataSource
FROM F_staRes where dataSource='Ohio'
) O inner join
(
SELECT Rid,UID,ADDRESS,City,State,Zip,DataSource
FROM F_staRes
where DataSource in ('Clev','Columbus')
) ct
on O.UID=ct.UID and O.ADDRESS=ct.ADDRESS and O.City=ct.City and
O.State=ct.State and O.zip=ct.zip
join dbo.ResOrig ro
on ct.rId=ro.rId
join dbo.ResSta rs
on ct.rId=rs.rId
join dbo.ResDest rd
on ct.rId=rd.rId
where ct.DataSource in ('Clev','Columbus')