Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 исключение двойных записией  [new]
akalend
Member

Откуда: СПб
Сообщений: 520
Помогите составить запрос,

есть БД tt( id int, Name varchar(20))


Необходимо вывести все поля Name, исключая повторение
Изюминка заключается в том, что id - уникальное и его так же необходимо выводить

SELECT  DISTINCT ID,Name  FROM  tt
этот запрос не работает
20 окт 03, 14:46    [383849]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
и как же он не работает?
20 окт 03, 14:51    [383868]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
SELECT min(ID) as ID, Name FROM tt GROUP BY Name
20 окт 03, 14:53    [383876]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Необходимо вывести все поля Name, исключая повторение
Изюминка заключается в том, что id - уникальное и его так же необходимо выводить


Вы сами понимаете, что хотите получить? ЕСли исключить повторение Name, то какой из нескольких id прикажите выводить?
20 окт 03, 14:53    [383877]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
akalend
Member

Откуда: СПб
Сообщений: 520
то какой из нескольких id прикажите выводить - выводить первый id
20 окт 03, 14:56    [383889]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
bushmen
Member

Откуда: г. Москва
Сообщений: 828
тогда должен подойти вариант, предложенный tpg
20 окт 03, 15:01    [383902]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
тогда чем уже показанный вариант не подходит?
20 окт 03, 15:02    [383908]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
akalend
Member

Откуда: СПб
Сообщений: 520
Вариант
SELECT min(ID) as ID, Name FROM tt GROUP BY Name
Получился - СПАСИБО
20 окт 03, 15:07    [383924]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
сначала делаем дубликаты, потом пытаемся от них избавиться...
pk=id int identity - стандарт (слава суррогату !) ... тошниловка
ессно, тут уже не до юника на колонку name...

все подходы - полный отстой! - вот в этом как раз "Изюминка "

спросите любого юзера - он согласен отличать записи по ск? - фактически, таблица не имеет при этом пк для пользователя...
плюс разумеется такие подходы тянут за собой ненужные джойны со справочниками...
и много ли есть случаев, когда действительно требуется ск?

нда, а еще говорят, что дизайн бд - это здравый смысл в чистом виде ...
20 окт 03, 15:18    [383962]     Ответить | Цитировать Сообщить модератору
 Re: исключение двойных записией  [new]
x
Guest
Это уже в "Проектирование БД"
20 окт 03, 18:37    [384511]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить