У меня следующий запрос MySQL:
UPDATE spot ST
INNER JOIN tag_mapping_spot c ON c.spot_id = ST.spot_id
INNER JOIN def_table b ON b.tag_id = c.tag_id
SET ST.spot_name = b.tag_ja
Недавно я перешел на oracle и хочу преобразовать этот запрос в версию oracle. Я искал и пробовал
UPDATE ( SELECT spot.spot_name as f1, def_table.tag_ja as f2
FROM spot
INNER JOIN tag_mapping_spot
ON tag_mapping_spot.spot_id = spot.spot_id
INNER JOIN def_table
ON def_table.tag_id = tag_mapping_spot.tag_id
) j
SET j.f2 = j.f1
и
MERGE into spot
USING tag_mapping_spot
ON (tag_mapping_spot.spot_id = spot.spot_id)
USING def_table
ON (def_table.tag_id = tag_mapping_spot.tag_id)
WHEN MATCHED THEN UPDATE SET spot.spot_name = def_table.tag_jae
Но ни один из них не работает. Как мне с этим бороться? Заранее спасибо