Parece que vas por el camino equivocado. Su esquema normalizado original suele ser superior. Si necesita mostrar la tienda/usuario, cree un VIEW
.
Pero puede que tengas tus razones, así que aquí va:
UPDATE purchases p
SET (shop, shop_user) = (s.name, s."user")
FROM shop s
WHERE s.id = p.shop_id;
No utilice la palabra reservada "user"
como identificador.
Y "nombre" casi nunca es un buen nombre , tampoco.
Y varchar(255)
en Postgres generalmente indica un malentendido.
Acerca de varchar(255)
:
varchar(255)
- ¿Debería agregar un límite de longitud arbitrario a las columnas VARCHAR?
- ¿Alguna desventaja de usar el tipo de datos "texto" para almacenar cadenas?
- Más detalles en el manual.