我有一個場景,我正在編寫SQL Server Reporting Services
以創建Tablular報表並卡住了一個點,在該點我得到一列的重複值。下面是從代碼輸出樣本:在SQL Server中處理Null值和重複記錄
AppID EmpID EmpName
2002912 81555 NULL
2002912 81588 Jenn - 81588
2026880 9328 NULL
2026880 9628 Brad - 09628
2027065 92174 Julie - 92174
2027065 92714 NULL
2028989 72138 NULL
2028989 91366 Alan - 91366
2029233 17438 NULL
2029233 53712 Brad - 53712
2031585 37902 NULL
2031588 17723 Richard - 17723
2031591 54551 Paula - 54551
2031593 52240 Sarah - 52240
2031597 72778 Daisy - 72778
2031603 12659 NULL
通知第一coulmn(AppID
)具有幾個重複和對應的列EmpName
要麼Null
或有一定的價值。我想消除所有重複的AppID's
,其中EmpName
是null
。
如果對於唯一的AppID
(請參考最後一行)沒有空值,我可以直截了當地處理大量數據,因此我也無法硬編碼。
另請注意,所有這三根柱子是從不同的表來,並已LEFT JOIN
到AppID
表。請讓我知道,如果你需要看代碼,我沒有粘貼在這裏,因爲它很複雜,但可能並不需要。
任何形式的幫助和建議是appreciated.Thank你
使用'ROW_NUMBER OVER(分區通過的appid ORDER BY EmpName NULLS FIRST)'然後選擇行2.I'm不知道有關語法,但是這是一般的想法。或者如果NULLS FIRST不可用,則使用'ORDER BY(當EmpNAme爲NULL,否則爲0 ELSE 1 END時)。 – Mihai 2014-10-01 16:16:56
我不想消除'AppID'唯一的'null'值。那麼在這種情況下,如何在重複的'AppID''和唯一'AppID''之間區分? – 2014-10-01 16:26:22