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

From: "Gilberto Castillo" <gilberto(dot)castillo(at)etecsa(dot)cu>
To: "Pedro PG" <pedropg(at)outlook(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: UPDATE tabla SET campo = (numero_registros_tabla) WHERE id = {condicion}
Date: 2015-05-18 17:58:27
Message-ID: 60819.192.168.207.54.1431971907.squirrel@webmail.etecsa.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

>
> 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

Attachment Content-Type Size
unknown_filename text/plain 179 bytes
unknown_filename text/plain 157 bytes

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan J Rosales Rodriguez 2015-05-18 20:15:36 Generar insert
Previous Message Pedro PG 2015-05-18 16:21:27 UPDATE tabla SET campo = (numero_registros_tabla) WHERE id = {condicion}