2011-05-12 72 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