删除两列中重复出现的值



我有一个按代码和描述存储薪资奖励的维度。Award_Code和Award_Desc的组合形成了一个自然的密钥。每个代码应该只有一个描述,每个描述应该只有一种代码,但多年来,人们添加了相同的奖励代码,但使用了不同的描述,或者使用了相同的描述,但使用不同的奖励代码。在该示例中,两次找到具有不同描述的奖励代码之一(award_SK 6和award_SK2270(,两次发现具有不同代码的奖励描述之一(award _SK6和award _SK2209(。只有Award_SK 6是正确的Award_Code/Award_Desc组合,我需要从维度中删除其他组合。

Award_SK Awand_Code教师奖教师奖教师奖

您可以将其用作更高的匹配,而不是避免与相同的匹配。

SELECT DISTINCT
AW.Dim_Award_SK as Award_SK,
DIM.Dim_Award_SK as Matching_Award_SK 
FROM #DuplicatedAwards AW
JOIN DM.DIM_AWARD DIM
ON ( DIM.Award_Code = AW.Award_Code OR
DIM.Award_Desc = AW.Award_Desc 
) 
AND AW.Dim_Award_SK < DIM.Dim_Award_SK
ORDER BY AW.Dim_Award_SK, DIM.Dim_Award_SK

最新更新