Re: [pgsql-es-ayuda] UPDATE tabla SET campo = (numero_registros_tabla) WHERE id = {condicion}

2015-05-19 Por tema Hellmuth Vargas
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;

Uh, ¿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@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] UPDATE tabla SET campo = (numero_registros_tabla) WHERE id = {condicion}

2015-05-18 Por tema Gilberto Castillo



 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;

Uh, ¿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@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda