我有一個表(Id,ArticleCode,StoreCode,Adress,Number),其中包含僅基於這些列的重複條目[ArticleCode,StoreCode]。SSIS - 篩選重複行
目前我可以使用聚合轉換過濾重複行,但問題是在輸出行中,我只有兩列[Article,StoreCode],我也需要其他列。
我有一個表(Id,ArticleCode,StoreCode,Adress,Number),其中包含僅基於這些列的重複條目[ArticleCode,StoreCode]。SSIS - 篩選重複行
目前我可以使用聚合轉換過濾重複行,但問題是在輸出行中,我只有兩列[Article,StoreCode],我也需要其他列。
只是在OLEDB源組件使用SQL命令作爲源,而不是表名稱和寫入以下命令(作爲源):
SELECT [ID]
,[ArticleCode]
,[StoreCode]
,[Address]
,[Number] FROM (
SELECT [ID]
,[ArticleCode]
,[StoreCode]
,[Address]
,[Number]
,ROW_NUMBER() OVER(PARTITION BY [ArticleCode]
,[StoreCode] ORDER BY [ArticleCode]
,[StoreCode]) AS ROWNUM
FROM [dbo].[Table_1]) AS T1
WHERE T1.ROWNUM = 1
爲了擺脫重複的,並選擇由[ArticleCode唯一的記錄,商店代碼]:
select top 1 with ties
Id ,
ArticleCode ,
StoreCode ,
Adress ,
Number
from
YourTable
order by
row_number() over(partition by ArticleCode, StoreCode order by Id)
但其中的兩個記錄有當[ArticleCode,商店代碼]等於被選擇和[ADRESS,號碼]不同?
如果Id是自動增加,則order by Id
獲得第一個輸入記錄order by Id desc
- 最後一個。
您有某種方式可以定義重複項中的哪個[地址,數字]對是正確的選擇。