2010-04-19 10 views
4

Рассмотрим таблицу или КТР структурирована следующим образом:TSQL: поиск уникальных записей в одной таблице

Name Num 
---- ---- 
Abc  12 
Abc  12 
XYZ  70 
XYZ  80 
XYZ  85 
Bar  50 
Bar  55 
Foo  44 
Foo  44 
Baz  88 

Требование, чтобы определить Имя, где существует множество различных Nums.

Нужный ResultSet является

Name 
---- 
XYZ  
Bar  

Что TSQL заявление вы должны использовать, чтобы получить этот набор результатов?

Обновление: действительно, для данного имени может быть 2+ записи.

+0

Можно ли иметь более двух occurrencies XYZ в таблице? – systempuntoout

ответ

9

не несет никакой NULLs в колонке Num

select 
    Name 
from 
    MySetObject 
group by 
    name 
having 
    min(num) <> max(num) 
    -- also COUNT(DISTINCT Num) > 1 achieves the same 
+1

+1, просто собирался опубликовать версию 'COUNT (DISTINCT Num)', которую вы только что отредактировали в –

+0

@KM: извините ..... – gbn

+0

;-(вы откладываете, вы теряете. Я уверен, что план выполнения быть почти идентичным –

Смежные вопросы