这里是我试图解决的情况。我有一个加载了重复的表格。它发生的原因是类似的行从两个或更多不同的来源加载。这在包装中正在被照顾。
但我想删除那些重复的行。这里没有关键属性。来源的例子是Cleveland City
和Ohio State
。我有一列显示从哪个源加载行(DataSource
列)。
因此在行中显示为DataSource = 'Cleveland'
或DataSource = 'Ohio'
。
我想保留那些从俄亥俄州加载时导致重复的记录。它的100k条记录我可能不得不使用连接。还有一件事,我的主桌与其他四个或五个桌子连在一起,每个桌子都有独特的rId
,这就是为什么你看到我加入这张桌子,我不认为我做得对。
你能检查我的工作人员吗?我真的欣赏它。
--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')
你的问题可能会更好地迁移到[代码审查 - 堆栈交易所(http://codereview.stackexchange.com/faq )用于共享您正在为同行评审工作的项目的代码。 – Tony