我正在将一组数据导入OLE DB SQL SERVER。我有两列:
ID CONDITION CLIENT
1 A11111 G12345
1 X11111 G23456
2 A11111 G12345
2 A11111 G12345
3 A11111 G12345
3 A11111 G23456
4 X11111 G12345
我必须删除重复项并通过转换上传表格。如果condition
列重复项具有相同的值,请将该值取入,如果它们不同,请使用较小的值。与client
列相同。我把它带到SQL服务器的临时表中,使用条件分割在两个条件下使用rank==1
进行排名。每件事情都运作良好但是对于两条记录,这些在条件列上的排名采用了默认值,但该记录应该流经管道线,因为客户端等级为1
。有什么建议可以解决这个问题吗?
答案 0 :(得分:0)
删除重复项的最简单方法是在select语句中使用GROUP BY或DISTINCT子句。
或者,如果您要查找最新值,则按ID分组的row_number()语句按UpdateDate排序?降。每个id的row_number的结果将使您能够仅选择row_number为每个id 1的行。 For a similar Row_Number example have a look at this
答案 1 :(得分:0)
你的第一个条件应该有2个输出:当rank == 1时,正数应输出到UNION ALL变换,默认输出到第二个条件。 第二个条件也应该输入rank == 1到UNION ALL转换。
UNION ALL的输出将有任何一行传递一个或另一个条件。