我正在使用MS SQL 2008R2。我正在使用部分數據集(即不是所有的柱),並且無法排除重複的行。例如,以下是索賠的行數:查詢返回每個副本的1行
Claim Line Doctor Received Paid
02195111345 1 22924 1995-11-13 2001-10-02
02195111345 1 22924 1995-11-13 2001-10-02
02195111345 2 22924 1995-11-13 2001-10-02
02195111345 2 22924 1995-11-13 2001-10-02
02195111345 3 22924 1995-11-13 2001-10-02
02195111345 3 22924 1995-11-13 2001-10-02
02195111345 4 22924 1995-11-13 2001-10-02
02195111345 4 22924 1995-11-13 2001-10-02
02195111345 5 22924 1995-11-13 2001-10-02
02195111345 5 22924 1995-11-13 2001-10-02
我想爲每個Claim + Line選擇只有1行。還有其他列,但它們包含每個Claim + Line組合的相同信息。
我可以很容易地識別與重複的行與查詢,如:
SELECT [ClaimNum],[ClaimNum_Line]
FROM [dbo].[DamagedClaims]
GROUP BY [ClaimNum],[ClaimNum_Line]
HAVING COUNT(*) > 1
通常情況下,我會使用此查詢創建派生表和加入回表 - 與其他coulmn如MAX (版本)等,但沒有這樣的列來區分重複。
我已經考慮
SELECT ClaimNum], Line, MAX(DOCTOR), MAX([Date Received]), MAX([Date Paid])
,但大約有20列和750萬行,並且似乎是一個很大的開銷(我很同情我們的SQL服務器!)。有更好的解決方案嗎?
最佳, 斯科特