2011-05-12 89 views
0

我有一个SQL查询,像这样:将独特应用于多个领域?

SELECT DISTINCT ID,名称从表

这带来了所有不同的ID(1 ... 13),但在13点的ID,它重复名称(因为它出现两次)。查询的顺序(ID,Name)必须保持一致,因为使用此查询的应用程序使用此假定进行编码。

有没有办法确保没有重复?

感谢

+2

鲜明适用于所有列。如果有重复,那么他们只能“出现”重复。也许在名称后面有一个空格,或者另一个隐藏字符,例如tab,cr,lf等...... – 2011-05-12 23:31:22

+2

这种区别应该适用于这两个字段。你确定你的名字是重复的吗?尝试运行'选择不同的ID,降低(rtrim(ltrim(Name)))作为来自表'的名称,看看你是否仍然有重复。 – 2011-05-12 23:32:15

+2

请让我假装有点傻,并问你这个愚蠢的问题:重复的名称有相同或不同的ID?我只是不确定你的帖子。 – 2011-05-13 02:21:30

回答

1

你可以试试:

select id, name from table group by id,name 

但似乎截然不同应该工作。也许在名称字段的末尾有尾随空格?

+0

字符串比较中忽略尾部空格。可能是尾随标签或其他非打印字符。 – 2011-05-13 00:06:22

0

而不是使用DISTINCT的,用GROUP BY

SELECT ID, Name FROM Table GROUP BY ID, Name