UPDATE 文や INSERT 文でも WHEN CASE を活用
SQL Server では、 UPDATE 文や INSERT 文内で複数テーブルを FROM に指定して処理を行うことができます。そして、結合した結果や SET に指定する値を CASE WHEN で条件分岐することも可能です。
非常に便利なテクニックですが、乱用すると SQL が読みにくくなります。何事もほどほどに。 KISS (Keep It Simple, Stupid *1 )
-- サンプル (文法確認用) UPDATE Products SET Name = ( CASE WHEN C.Category IS NULL THEN P.Name + N' (仮)' ELSE P.Name END ) FROM Products AS P LEFT OUTER JOIN ProductsCategories AS C ON P.CategoryId = C.CategoryId
*1:最近は、 Keep It Simple and Small とか落ち着いた言い回しも多いようですね ^^;