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

Откуда:
Сообщений: 5
MS Sql 2000 ee
T1 - table1
id(int)S(varchar(5))cost(int)status(int)
1_____aa_________111_____null
2_____b__________222_____null
3_____ccc________121_____null
4_____c__________443_____null
5_____t__________344_____null
........................

T2 - table2
id(int) S(varchar(5)) сost(int)
1______aa__________111
2______b___________212
3______ccc_________221
4______c___________453


id поле ключ связка уникален в каждой таблице

нужно сделать Update одним запросом поля status в T1
при условии
t1.status = 1 если t2.cost=t1.cost
t1.status = 2 если t2.cost>t1.cost
t1.status = 3 если t2.cost<t1.cost
t1.status = 4 если t2.id несуществует
одним запросом
вроде все написал
СПАСИБО!
23 ноя 09, 23:04    [7967165]     Ответить | Цитировать Сообщить модератору
 Re: UPDATE одного столбца с условиями  [new]
iljy
Member

Откуда:
Сообщений: 8711
dkost,

update t1
set t1.status = case when t2.cost=t1.cost then 1
		      when t2.cost>t1.cost then 2
		      when t2.cost<t1.cost then 3
		      when t2.id is null then 4
                            else t1.status
	          end
from Table1 t1 left join Table2 t2 on t1.id = t2.id

на данных не проверял, выкладывайте их по-человечески, в виде скриптов.
23 ноя 09, 23:26    [7967203]     Ответить | Цитировать Сообщить модератору
 Re: UPDATE одного столбца с условиями  [new]
dkost
Member

Откуда:
Сообщений: 5
Огромное Спасибо. Все отлично работает!!!
23 ноя 09, 23:48    [7967246]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить