用于标识具有数百列

时间:2017-04-21 15:57:02

标签: sql teradata

我在客户表中有250多列。根据我的流程,每个客户应该只有一行,但我发现很少有客户在表中有多个条目

在为该客户在整个表上运行distinct之后,它仍然为我返回两行。我怀疑其中一列可能在源表中带有空格/垃圾后缀,从而产生两行相同的信息。

select distinct * from ( select  * from customer_table where custoemr = '123' ) a; 

上面的查询返回两行。如果你用肉眼看到结果,任何一列都没有差异。

我可以确定哪个列导致重复,如果我每次为每个列运行查询时都有不同的但是认为对于250+列来说这将是非常手动的任务。

这听起来像是一个非常愚蠢的问题,但有点困在这里。请建议您是否有更好的方法来识别它,谢谢。

1 个答案:

答案 0 :(得分:0)

用sql解决这个一次性问题太费劲了。只需复制粘贴到Excel,将数据转换为列并使用一些简单的函数,如“if a == b then 1 else 0”。