2016-10-07 6 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> 

- ありがとうございます。

あなたはSET句でCASE条件を使用することができます

答えて

1

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> 
関連する問題