Здравствуйте Abbat, Вы писали:
A> Тема такая..
A>Есть база данных.. в ней есть поле типом uniqueidentifier. Причем GUID формируеться не в БД.. а в COM объекте(тоесть в таблице есть совпадающие GUIDы).
A>Тык задача в том.. чтобы подсчитать кол-во уникальных GUIDов в данном столбце..
A>Практически надо реализовать запрос вида:
A>SELECT COUNT(DISTINCT <имя поля>) FROM <имя таблицы>
A>, тока тут проблема в том что COUNT не работает с uniqueidentifier
A>(The count-unique aggregate operation cannot take a uniqueidentifier data type as an argument.
A>)
A>Если кто сталкивался.. подскажите плз.. а то уже мозги закипают
A>Заранее спасибо!
CREATE TABLE #aa1
(UniqueColumn UNIQUEIDENTIFIER DEFAULT NEWID(),
Characters VARCHAR(10) )
GO
INSERT INTO #aa1 VALUES ('{F6D3AFBC-60A4-4D1D-8FED-2B7FF14BD9A2}', 'abc')
INSERT INTO #aa1 VALUES ('{438E3737-002B-457B-AD52-F7AC4E81E042}', 'abc')
INSERT INTO #aa1 VALUES ('{DFD9E130-FB24-4314-B489-4B9256F2E492}', 'abc')
INSERT INTO #aa1 VALUES ('{F6D3AFBC-60A4-4D1D-8FED-2B7FF14BD9A2}', 'abc')
GO
select * from #aa1
select * from #aa1 where cast(UniqueColumn as varchar(40)) in(select cast(UniqueColumn as varchar(40)) from #aa1 group by cast(UniqueColumn as varchar(40)) having count(cast(UniqueColumn as varchar(40))) = 1)
drop table #aa1