次のようCASE
に、SELECT
クエリに表示する列を選択するために使用できます(Postgres)。
SELECT CASE WHEN val = 0 THEN column_x
WHEN val = 1 THEN column_y
ELSE 0
END AS update, ...
UPDATE
Postgresでクエリを実行するときに、同様のことは可能ですか(更新する列を選択してください)。私はこれについて何も見つけることができなかったのではないと思いますが、誰かが賢い代替手段を持っていると思います(手順を使用するか、CASE
を使用して各列を更新して、列の値に新しい値を割り当てるか、単に既存の列を再割り当てするかを決定する以外に値)。簡単な選択肢がない場合は、もちろんそれも答えとして受け入れます。
追加情報:私の場合、更新される可能性のある14の潜在的な列があり、一致する行ごとに1つだけが更新されます(更新されるテーブルはクエリで別のテーブルと結合されます)。更新する行の量はおそらく異なり、数十または数百になる可能性があります。結合条件の指標は整っていると思います。