PostgreSQL の UPDATE Join
2020年10月13日
このクエリは、PostgreSQL の UPDATE join 構文を使って、別のテーブルの値をもとにテーブルのデータを更新する方法を示しています。たとえば:
mission_rewards テーブルを経由して、subscription_missions.giftbox_type を rewards.gift_box_type で更新します(30 万レコードでテスト済み、めちゃくちゃ速いです)
UPDATE
subscription_missions sm
SET
giftbox_type = r.gift_box_type
FROM
mission_rewards mr,
rewards r
WHERE
sm.giftbox_type IS NULL
AND sm.id = mr.subscription_mission_id
AND mr.reward_id = r.id;