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