避免重复的客户数据

时间:2019-06-03 14:15:41

标签: sql hive

我有一个表,该表产生一行数据,其中包含两个被认为是同一个人的客户详细信息。此客户由sourcekey知道。该表将具有以下情况:源密钥1与源密钥2匹配,在下一行中,它将源密钥2与源密钥1匹配。

我尝试了以下方法以清除所谓的“ A-B,B-A比赛”。这是重复的,因为无论哪个先发生,它都是相同的组合。 我试过了

...WHERE SCORES.SOURCEKEY_TO != SCORES.SOURCEKEY_FROM
     AND scores.SOURCEKEY_FROM < scores.SOURCEKEY_TO

但是我仍然遇到重复。

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

select
distinct
case when SOURCEKEY_TO<SOURCEKEY_FROM then SOURCEKEY_TO else SOURCEKEY_FROM end as SOURCEKEY_FROM, 
case when SOURCEKEY_FROM>SOURCEKEY_TO then SOURCEKEY_FROM else SOURCEKEY_TO end as SOURCEKEY_TO
from scores
where
SOURCEKEY_FROM <> SOURCEKEY_TO

示例here