Re: UPDATE tabla SET campo = (numero_registros_tabla) WHERE id = {condicion}

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: gilberto(dot)castillo(at)etecsa(dot)cu
Cc: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>, Pedro PG <pedropg(at)outlook(dot)com>
Subject: Re: UPDATE tabla SET campo = (numero_registros_tabla) WHERE id = {condicion}
Date: 2015-05-19 19:05:02
Message-ID: CAN3Qy4qL0HRU2vuX4L4kbT6aKhV10y_ddAK8-Pb4ppSJSc5=7Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola lista

Obviando el asunto de la violación de la segunda forma normal y los
problemas subsecuentes, la Consulta dentro de un trigger (para que sea
automático) seria algo como:

update tabla as x
set flag=y.flag
from (
select grupo, count(grupo) as flag
from tabla as y
group by 1
) as y where x.grupo=y.grupo

>
> Hola lista, necesito una mano, como puedo hacer lo siguiente.
> * tabla usuario {id, idgrupo, login, flag}* select * from usuario -
> 1,1,'pedro', 0 - 2,1,'juan',0 - 3,1,'jose',0 - 4,2,'maria',0
> Bien aquí la pregunta, deseo actualizar el valor flag al valor del total
> de registros según la condición:
> * Es decir:
> update usuario set = (___VALOR_AQUI___) where idgrupo = 1;
> ___VALOR_AQUI___ deberia ser 3.update usuario set = (___VALOR_AQUI___)
> where idgrupo = 2; ___VALOR_AQUI___ deberia ser 1.
> * Deseo hacer esto sin tener que hacer una subconsulta, algo parecido a
> esto:
> update usuario set = (SELECT COUNT(id) FROM usuario WHERE idgrupo = 1)
> where idgrupo = 1;update usuario set = (SELECT COUNT(id) FROM usuario
> WHERE idgrupo = 2) where idgrupo = 2;

Uhmmmm, ¿No tendrás otra manera de hacer eso?... creo que el uso de
llamado a count en el futuro te va a traer problema.

Saludos,
Gilberto Castillo
ETECSA, La Habana, Cuba

---
This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running
at host imx3.etecsa.cu
Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Aland Laines 2015-05-20 15:48:55 Requerimiento de Personal para proyecto de 2 a 3 meses
Previous Message Jaime Casanova 2015-05-19 17:32:25 Re: manejo de errores