列值应与另一个列值唯一

时间:2019-03-05 02:29:32

标签: sql csv ssis ssis-2012 ssis-2008

我正在创建一个SSIS包,如果一个产品名称有重复的产品ID,则需要通知用户。我们通过在共享位置发送给我们的csv文件检索产品。

在此示例中,我的产品椅子和灯具的ProductID = 1。

因此,基本上productID = 1是重复的,因为产品灯也使用了它。因此,请通知用户所使用的重复产品ID。

有人可以给我提示如何做吗?

Product Info

2 个答案:

答案 0 :(得分:1)

您可以通过3种方法进行此操作:

  1. 将数据插入到临时表中,并使用类似于以下的查询:

    SELECT PRODUCTID, COUNT(*) 
    FROM TEMPTABLE
    GROUP BY PRODUCTID
    HAVING COUNT(*) > 1
    
  2. 使用脚本组件对出现的事件进行计数并在发现重复项时引发异常。检查以下链接以获取更多信息:

  3. 使用聚合转换并在ProductID上对group by应用计数,请查看以下链接以获取更多信息:

答案 1 :(得分:1)

获取重复的PRODID值很容易。

使用Aggregate转换

Column PRODID - Operation Group By
Column (*) - Operation Count all

在其后跟随Conditional Split,其中[Count all] > (DT_UI8)1

如果输出中有任何记录,则有一个或多个重复项。