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>
我是编程新手。 我需要帮助编写 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>