Du verkar gå åt fel håll. Ditt ursprungliga, normaliserade schema är vanligtvis överlägset. Om du behöver visa butik/användare, skapa en VIEW
.
Men du kan ha dina skäl, så här kommer:
UPDATE purchases p
SET (shop, shop_user) = (s.name, s."user")
FROM shop s
WHERE s.id = p.shop_id;
Använd inte det reserverade ordet "user"
som identifierare.
Och "namn" är nästan aldrig ett bra namn , antingen.
Och varchar(255)
i Postgres indikerar vanligtvis ett missförstånd.
Om varchar(255)
:
varchar(255)
- Ska jag lägga till en godtycklig längdgräns för VARCHAR-kolumner?
- Några nackdelar med att använda datatypen "text" för att lagra strängar?
- Mer information i manualen.