私のテーブルには5つの列があります。私はしたいと思います
UPDATE Column5='TEACHER' IF Column2='Y'
AND
UPDATE Column5='STUDENT' IF Column3='Y'
これを1つのステートメントで実行できますか?
おそらくCASE
ステートメントを使用できます。私の推測では、あなたはこのようなものが欲しいです
UPDATE table_name
SET column5 = (CASE WHEN column2 = 'Y'
THEN 'TEACHER'
WHEN column3 = 'Y'
THEN 'STUDENT'
ELSE null
END)
WHERE column2 = 'Y'
OR column3 = 'Y'
どちらの条件も満たさない行を更新したくないと思います。すべての行を更新する場合は、句を削除し、どちらの条件も満たさない行WHERE
のデフォルト値 ( の ) を調整する必要がありますELSE
。CASE