UPDATE bar b
SET foo_id = fb.foo_id
FROM foo_bar fb
WHERE fb.bar_id = b.bar_id;
Ако трябва да имате няколко реда за една bar
(което не трябва, според вашето описание) единият ред ще бъде актуализиран многократно и резултатът е произволен.
Тази форма на заявката обикновено се представя по-добре от корелирана подзаявка.
Обърнете внимание, че първичният ключ на bar
наистина трябва да се нарича bar_id
- Използвам това име в заявката.