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

Откуда:
Сообщений: 2695
Доброго дня господа

MSQL2005 - необходимо изменить множество полей (более 20)
Содержание полей на который делаем Update это идентичные запросы,
соответсвтенно не хотелось делать 20 одинаковых подзапросов.

Пример
Update T1
set F1=(select F1 from T0 where F0=T1.F0)
set F2=(select F2 from T0 where F0=T1.F0)
set F3=(select F3 from T0 where F0=T1.F0)
set F4=(select F4 from T0 where F0=T1.F0)
set F5=(select F5 from T0 where F0=T1.F0)

Нельзя ли писать как то так
Update T1
set (F1,F2,F3,F4,F5)=(select F1,F2,F3,F4,F5
from T0
where F0=T1.F0
)

Заранее благодарен !
Merge не предлагать - это MSQL2008
1 мар 12, 19:16    [12179250]     Ответить | Цитировать Сообщить модератору
 Re: Update множества полей  [new]
Alexandr Kr.
Member

Откуда: Украина, Харьков
Сообщений: 165
HOME_X,

А чем джоин не устраивает?
Update T1 
set F1=T0.F1,
     F2=T0.F2,
    F3= T0.F3,
...
from T1 LEFT JOIN T0 ON T0.F0=T1.F0
1 мар 12, 19:21    [12179275]     Ответить | Цитировать Сообщить модератору
 Re: Update множества полей  [new]
HOME_X
Member

Откуда:
Сообщений: 2695
Alexandr Kr.,
Дочитал - наверное подходит !
1 мар 12, 19:34    [12179344]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить