SQL 根据多个条件更新多个列的代码

SQL code for updating multiple columns based on multiple conditions

我是编程新手。 我需要帮助编写 SQL 语句,该语句可以根据多个条件更新多个列。

下面是满足我要求的示例代码:

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

-- 谢谢。

您可以在 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
.
.

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>