postgresでテーブルAの値をjoinしてテーブルBに入れたいとき
MySQLならば単純に
UPDATE
tabel_b b
INNER JOIN
table_a a
ON b.a_id = a.id
SET
bcol = a.col
みたいなことでできたと思いますが、postgresはダメらしい。
ちょっと違う書き方をします。
ポイントはFROM句をつかい、WHERE句で結合させること。
UPDATE
table_b
SET
col = a.col
FROM
table_a a
WHERE
a.id = b.a_id
こんな感じです。
UPDATEでFROM句を使うことがあるんだなぁー、へー。
と言った感じです。
ちょい不便ですね、postgreSQL