我是编程新手。 我需要帮助编写SQL语句,它可以根据多个条件更新多个列。
以下是我的要求的示例代码:
UPDATE table1
SET t1.column1 = value1 IF <condition1>
SET t1.column2 = value2 IF <condition2>
...
...
FROM table1 t1, table2 t2, ...
WHERE <common conditions>
- 谢谢。
答案 0 :(得分:1)
您可以在SET子句中使用CASE条件
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
.
.
编辑:要使用多个表进行更新,您可以根据常见条件使用表之间的连接
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>