具有重复ID的表内部联接表没有重复ID

时间:2019-02-15 21:45:48

标签: sql join

在最后一个选择结果中,我看到重复的ID。如何删除重复项。见所附图片

3 select query

1 个答案:

答案 0 :(得分:0)

尽管样本数据不能提供100%准确的答案,但以下一些指南有望对您有所帮助。

为避免在没有列可用于唯一标识重复记录时联接中出现重复,我建议在子查询中取消它们,然后将该子查询与另一个表联接。

由于您似乎具有 true 重复项,这意味着您从子表中检索的所有列都具有相同的值,因此DISTINCT应该可以:

SELECT i.*, c.TELEPHONE_NUM
FROM [dbo].[GT_Import] AS i
JOIN (
    SELECT DISTINCT TELEPHONE_NUM
    FROM [dbo].[ComplainSubscriber_Import]
) AS c ON c.TELEPHONE_NUM = i.TELEPHONE_NUM
WHERE ...

您可以向子查询添加更多列,只要它们确实具有重复的值即可。