From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Fevis Koste <parapostgres(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Haciendo UPDATE desde un SELECT entre 2 tablas |
Date: | 2008-01-08 18:06:02 |
Message-ID: | 20080108180602.GB14414@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Fevis Koste escribió:
> Saludos listas.
> Estoy probando un UPDATE en una tabla que resulta de un SELECT de otra tabla
> y me da este mensaje de error
> ----------------------------------
> ERROR: more than one row returned by a subquery used as an expression
>
> ********** Error **********
>
> ERROR: more than one row returned by a subquery used as an expression
> SQL state: 21000
> -----------------------------------------
>
> Anexo el query que mando a ejecutar:
> UPDATE t_prueba_productos SET f_prueba =
> (SELECT f_costo_reposicion FROM t_productos_sd
> WHERE t_productos_ssd.f_referencia = t_prueba_productos.f_referencia);
Hmm, y por que no usas el FROM directamente en el update en vez de hacer
un subselect?
Creo que sería así:
update t_prueba_productos
set f_prueba = t_productos_sd.f_costo_reposicion
from t_productos_sd
where t_productos_sd.f_referencia = t_prueba_productos.f_referencia;
Claro que me confunde eso de que tengas t_productos_sd y
t_productos_ssd, quizás está mal mi plantamiento.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Fevis Koste | 2008-01-08 19:53:40 | Re: Haciendo UPDATE desde un SELECT entre 2 tablas |
Previous Message | Fevis Koste | 2008-01-08 17:52:18 | Re: Haciendo UPDATE desde un SELECT entre 2 tablas |