Sunil Reddy
Sunil Reddy

Reputation: 78

SQL code for updating multiple columns based on multiple conditions

I am new to programming. I need help in writing SQL statement which can update multiple columns based multiple conditions.

Below is sample code for my requirement:

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

-- Thank you.

Upvotes: 0

Views: 873

Answers (1)

Mudassir Hasan
Mudassir Hasan

Reputation: 28751

You can use CASE condition in SET clause

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 : For updating using multiple tables you can use join between the tables based on common condition

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>

Upvotes: 1

Related Questions