UPDATE bar b
SET foo_id = fb.foo_id
FROM foo_bar fb
WHERE fb.bar_id = b.bar_id;
Pokud byste měli mít více řádků pro jeden bar
(což byste podle vašeho popisu neměli) jeden řádek bude aktualizován několikrát a výsledek je libovolný.
Tato forma dotazu obecně funguje lépe než korelovaný poddotaz.
Všimněte si, že primární klíč bar
by se měl skutečně jmenovat bar_id
- Toto jméno používám v dotazu.