PostgreSQL UPDATE Join
October 13, 2020
這個查詢示範如何使用 PostgreSQL 的 UPDATE join 語法,根據另一張資料表的值來更新某張資料表的資料。例如;
透過 mission_rewards 資料表,以 rewards.gift_box_type 更新 subscription_missions.giftbox_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;