Выбор "любого" GUID из группировки (TSQL)
От: diamondio  
Дата: 07.08.07 09:12
Оценка:
Здравствуйте!

Не первый раз сталкиваюсь со следующей проблемой.

В MSSQL БД имеется таблица из 2 полей:
id uniquieidentifier PK,
attrib varchar(100)

Надо сделать запрос:
На входе у него список строк,
На выходе должно быть не более чем по одному id на каждую входную строку (по полю attrib).
Проблема в том, что attrib не является уникальным полем.
В случае, если attrib встречается в нескольких записях, можно выбрать любую.

Очевидное решение выглядит так:
select max(id)
from table1
where attrib in (<list>)
group by attrib

Проблема в том, что агрегаты не принимают uniqueidentifier.

Может быть, есть какой-нибудь способ? Кроме
Convert(uniqueidentifier, max(convert(varchar, id)))


Заранее благодарен ответам!

С уважением,
Дмитрий Позняк.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.