Re: Update condicionados por otras tablas

From: Yosip Abraham Curiel Jiménez <snake77se(at)gmail(dot)com>
To: Miguel Rodríguez Penabad <penabad(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Update condicionados por otras tablas
Date: 2007-09-19 15:47:05
Message-ID: d72a0de30709190847v16b3c5e5j8d398c497971975@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

no... me refiero a el ejemplo que me enviaste, algo asi:

update a
set
f_a=(select f_x from b where id=a.id)
f_b=(select f_y from b where id=a.id)
f_c=(select f_z from b where id=a.id)
f_d=(select f_r from b where id=a.id)
where id in (select id from b)

On 9/19/07, Miguel Rodríguez Penabad <penabad(at)gmail(dot)com> wrote:
>
> El 19/09/07, Yosip Abraham Curiel Jiménez <snake77se(at)gmail(dot)com> escribió:
> > Gracias por la pronta respuesta Miguel,
> >
> > Lo del where, y si lo pongo que colocará en el campo "f_a"?
> > si quiero actilizar varios campos de la "tabla_a" d la misma manera de
> la
> > "tabla_b", ¿tendria que hacer subquerys en cada campo?
> >
>
> Si NO colocas el where, te modifica TODAS las filas de la tabla A,
> poniendo en el campo f_a el valor f_x de la tabla b si existe el mismo id,
> y un NULL si no existe ese id.
>
> Si pones el where, se modifican sólo aquellas filas de A que tienen
> correspondencia
> en la tabla B, poniendo en f_a el valor f_x correspondiente. Para las
> filas de A
> que "no existan" en B no hace nada.
>
> En cuanto a varias subconsultas, una por campo, creo que sí las necesitas.
> Es decir, poner SET (campo1, campo2) = (select v1, v2 from ...) a mi
> no me funciona.
>
> --
> Miguel Rodríguez Penabad
>

--
Yosip Curiel (Snake77SE)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Rodríguez Penabad 2007-09-19 15:54:48 Re: Update condicionados por otras tablas
Previous Message Miguel Rodríguez Penabad 2007-09-19 15:40:44 Re: Update condicionados por otras tablas