我有一個大表(130列)。它是按月份(jan,feb,mar,...)分隔的每月數據集。每個月我都會得到一小組重複的行。我想刪除其中的一行,刪除哪一行並不重要。如何測試if語句中的項目列表
此查詢似乎工作正常,當我只選擇我想篩選dups的ID時,但是當我從表中選擇所有行時,包括dups在內的所有行中的所有"*"
。我的目標是過濾出dups並將結果集插入到一個新表中。
SELECT DISTINCT a.[ID]
FROM MonthlyLoan a
JOIN (SELECT COUNT(*) as Count, b.[ID]
FROM MonthlyLoan b
GROUP BY b.[ID])
AS b ON a.[ID] = b.[ID]
WHERE b.Count > 1
and effectiveDate = '01/31/2017'
任何幫助將不勝感激。
使用該查詢的CTE或子查詢,內部連接的,結果回到MonthLoan on ID的SELECT *上,你應該得到你想要的。基本上,您有一個查詢,可以爲您提供所需的唯一標識,通過將該標識加入原始表中,您可以爲這些行獲取完整的一組列。 – pmbAustin
如果您的** ID **被複制,您所有需要的是按ID分組並使用「HAVING COUNT(ID)> 1' – jean
不幸的是,這是一個很常見的問題。從下面的@Phoenix看到答案,我們實際上使用該解決方案時沒有出現問題。 – Eli