Sql server SSIS-筛选重复行
我有一个表(Id、ArticleCode、StoreCode、Address、Number),其中包含仅基于这些列[ArticleCode、StoreCode]的重复条目Sql server SSIS-筛选重复行,sql-server,ssis,sql-server-data-tools,Sql Server,Ssis,Sql Server Data Tools,我有一个表(Id、ArticleCode、StoreCode、Address、Number),其中包含仅基于这些列[ArticleCode、StoreCode]的重复条目 目前,我可以使用聚合转换过滤重复行,但问题在于输出行中我只有两列[Article,StoreCode],我还需要其他列。仅在OLEDB源组件中,使用SQL命令作为源,而不是表名,并编写以下命令(作为源): 仅在OLEDB源组件中,使用SQL命令作为源而不是表名,并编写以下命令(作为源): 要通过[ArticleCode,Sto
目前,我可以使用聚合转换过滤重复行,但问题在于输出行中我只有两列[Article,StoreCode],我还需要其他列。仅在OLEDB源组件中,使用SQL命令作为源,而不是表名,并编写以下命令(作为源):
仅在OLEDB源组件中,使用SQL命令作为源而不是表名,并编写以下命令(作为源):
要通过[ArticleCode,StoreCode]清除重复记录并选择唯一记录,请执行以下操作:
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,StoreCode]相等而[Address,Number]不同时,必须选择两个记录中的哪一个
如果Id为自动递增,则按Id排序
获取第一条输入的记录,按Id排序
-最后一条记录
您必须以某种方式定义副本中正确选择的[Address,Number]对。要消除副本并通过[ArticleCode,StoreCode]选择唯一记录,请执行以下操作:
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,StoreCode]相等而[Address,Number]不同时,必须选择两个记录中的哪一个
如果Id为自动递增,则按Id排序
获取第一条输入的记录,按Id排序
-最后一条记录
您必须以某种方式定义副本中正确选择的[Address,Number]对