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

никак не могу придумать как написать запрос одним селектом. задача такая:
из таблицы, кде данные такие:


id          name  name1  
----------- ----- ------ 
1           Vasia Pupkin
2           Vasia Pupkin
3           Vasia Pupkin
4           Kolia Kvakin
5           Kolia Kvakin
6           Name  Name1
7           Name  Name1
8           Name  Name1



получить такой результат:


id          name  name1  
----------- ----- ------ 
1           Vasia Pupkin
4           Kolia Kvakin
6           Name  Name1


?
11 янв 06, 22:10    [2245514]     Ответить | Цитировать Сообщить модератору
 Re: внимание запрос  [new]
ChA
Member

Откуда: Москва
Сообщений: 11126
SELECT MIN(id) AS id, name, name1
FROM Table
GROUP BY name, name1
?
11 янв 06, 22:21    [2245526]     Ответить | Цитировать Сообщить модератору
 Re: внимание запрос  [new]
guest_newbie
Guest
в данном случае да, но я плохо сформулировал вопрос по видимому.
т.е. на самом деле мне надо выбрать любую запис из тех, где повториается имя и имя1.

и как быть в том случае если id не будет int ?
11 янв 06, 22:44    [2245562]     Ответить | Цитировать Сообщить модератору
 Re: внимание запрос  [new]
aux
Member

Откуда: Чита
Сообщений: 4
Тогда вместо MIN юзай FIRST.
12 янв 06, 04:17    [2245849]     Ответить | Цитировать Сообщить модератору
 Re: внимание запрос  [new]
ChA
Member

Откуда: Москва
Сообщений: 11126
guest_newbie
в данном случае да, но я плохо сформулировал вопрос по видимому.
т.е. на самом деле мне надо выбрать любую запис из тех, где повториается имя и имя1.
Правильно поставленный вопрос содержит в себе ответ. Такой
SELECT id, name, name1
FROM Table t1
WHERE NOT EXISTS (
  SELECT *
  FROM Table t2
  WHERE t2.name = t1.name
    AND t2.name1 = t1.name1
    AND t2.id < t1.id
)
вариант устроит ?
guest_newbie
и как быть в том случае если id не будет int ?
А разве MIN работает только с int ? Или опять неправильно понял Ваш вопрос ?
12 янв 06, 04:52    [2245857]     Ответить | Цитировать Сообщить модератору
 Re: внимание запрос  [new]
Аленочка
Member

Откуда: Владик
Сообщений: 2169
А что простой distinct не подойдёт разве? Попробуйте

select distinct name,name1
from Table1

Картинка с другого сайта. Аленочка тм
12 янв 06, 09:13    [2246029]     Ответить | Цитировать Сообщить модератору
 Re: внимание запрос  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Аленочка
А что простой distinct не подойдёт разве?
Там вообще то ещё и id надо вытаскивать, а не только name, name1.
12 янв 06, 09:15    [2246037]     Ответить | Цитировать Сообщить модератору
 Re: внимание запрос  [new]
guest_newbie
Guest
Не подойдёт потому что надo узнать id :) Но вопрос можно считать закрытым, всем большой спасиб :beer:

Аленочка
А что простой distinct не подойдёт разве? Попробуйте

select distinct name,name1
from Table1

Картинка с другого сайта. Аленочка тм
12 янв 06, 09:34    [2246063]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить