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

Откуда:
Сообщений: 9
написал запрос, но чувствую что фигня получилась. ну и наработает соответственно...
задача такая.

CREATE TABLE [TMCC01_Clients] (
[ID] uniqueidentifier ROWGUIDCOL NOT NULL CONSTRAINT [DF_Clients_ID] DEFAULT (newid()),
[FIO] [varchar] (250) COLLATE Cyrillic_General_CI_AS NULL ,

CREATE TABLE [TMed10_ST] (
[ID] uniqueidentifier ROWGUIDCOL NOT NULL CONSTRAINT [DF_TMed10_ST_ID] DEFAULT (newid()),
[ClientID] [uniqueidentifier] NULL ,

найти всех однофамильцев и объединить о них сведения хранящиеся в TMed10_ST.
т.е. в множество полей ClientID записать только одно значение TMCC01_Clients.ID с одинаковой фамилией.

нацарапал тут, но по моему бред получился:
TMed10_ST
set ClientID = (select top 1 [ID]
from TMCC01_Clients T2
WHERE (T2.ID = (select ID from TMCC01_Clients TT1 WHERE TT1.ID = '{3AB5FE8E-9BEE-48CD-AFE9-5EC462C1141A}')) and
(T2.FIO = (select fio from TMCC01_Clients TT1 WHERE TT1.FIO = T2.FIO)
AND
T2.FIO = (select fio from TMCC01_Clients TT1 WHERE TT1.DateBirth = T2.DateBirth)))
where id in (SELECT ST.ID
from TMCC01_Clients T, TMed10_ST ST
WHERE ST.ClientID = T.[ID] AND
EXISTS(SELECT * FROM TMCC01_Clients TT WHERE TT.id<T.id AND TT.FIO=T.FIO AND TT.DateBirth=T.DateBirth)
15 июн 09, 11:34    [7299169]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить