2016-10-07 7 views
0

Я новичок в программировании. Мне нужна помощь в написании инструкции SQL, которая может обновлять несколько столбцов на основе нескольких условий.SQL-код для обновления нескольких столбцов на основе нескольких условий

Ниже приведен пример кода для моего требования:

UPDATE table1 
SET t1.column1 = value1 IF <condition1> 
SET t1.column2 = value2 IF <condition2> 
... 
... 
FROM table1 t1, table2 t2, ... 
WHERE <common conditions> 

- Спасибо.

ответ

1

Вы можете использовать условие CASE, в разделе SET

UPDATE table1 
SET table1.column1 = CASE WHEN <condition1> THEN value1 WHEN <condition2> THEN value2 END, 
table1.column2 = CASE WHEN <condition1> THEN value1 WHEN <condition2> THEN value2 END 
. 
. 
WHERE 
. 
. 

EDIT: Для обновления с помощью нескольких таблиц можно использовать соединение между таблицами на основе общего состояния

UPDATE table1 

SET table1.column1 = CASE WHEN <condition1> THEN value1 WHEN <condition2> THEN value2 END, 
table1.column2 = CASE WHEN <condition1> THEN value1 WHEN <condition2> THEN value2 END 

FROM table1,table2 
WHERE table1.commonCol = table2.commonCol 
<AND/OR> <other conditions> 
Смежные вопросы