Zdá se, že jdeš špatným směrem. Vaše původní normalizované schéma je obvykle lepší. Pokud potřebujete zobrazit obchod / uživatele, vytvořte VIEW .
Ale můžete mít své důvody, takže zde:
UPDATE purchases p
SET (shop, shop_user) = (s.name, s."user")
FROM shop s
WHERE s.id = p.shop_id;
Nepoužívejte vyhrazené slovo "user" jako identifikátor.
A „jméno“ je málokdy dobré jméno , buď.
A varchar(255) v Postgres obvykle označuje nedorozumění.
O varchar(255) :
varchar(255) - Mám do sloupců VARCHAR přidat libovolný limit délky?
- Nějaké nevýhody používání datového typu "text" pro ukládání řetězců?
- Další podrobnosti v příručce.