[Python-es] sqlalchemy, campos calculados y acumulados
Kaus Div
kausdiv en gmail.com
Sab Jul 18 09:36:37 CEST 2015
Marcelo lo que pretendo es que forme parte de la base de datos, es decir un
campo calculado.
Por ejemplo la tabla de conceptos ahora es:
id = Column(xxxx)
Nombre = Column(xxxx)
Agregando:
Suma_ent = Column(xxx)
Suma_sal = Column(xxx)
Y que esas suman correspondan a la entradas de caja cucho concepto sea el
elegido en el apunte de caja
Igual en la tabla Entidades.
El 17 de julio de 2015, 18:41, Marcelo Barbero <marcelobarbero en arnet.com.ar>
escribió:
> El 17/07/2015 a las 06:56, kausdiv escribió:
>
>> Hola estoy aprendiendo sqlalchemy, y lo que más me está costando es el
>> tema del asunto.
>>
>> Practicando he creado una especie de libro de caja este sería el esquema:
>>
>>
>> Esto ya funciona tanto en una aplicación Camelot como en consola.
>>
>> Mi problema que no acabo de entender es como hacer que tanto en
>> Conceptos como en Entidades tenga la suma del Caja.Entrada y Caja.Salida
>> de los apuntes de caja que tienen relacionados.
>>
>> He probado con hybrid property y con @aggregate. Solo consigo errores.
>>
>> ¿ Alguna ayuda que me oriente ?
>>
>> Saludos.
>>
>>
> Sobre una variable de conexión que voy a llamar conn, podés hacer:
>
> consulta = "SELECT Conc.Nombre, Ent.Nombre, SUM(C.Entrada), SUM(C.Salida)
> FROM Caja C, Conceptos Conc, Entidades Ent WHERE C.id_Conceptos = Conc.id
> AND C.id_Entidad = Ent.id GROUP BY Conc.Nombre, Ent.Nombre"
> resultados = conn.execute(consulta)
>
> #para probar
> for i in resultados.fetchall():
> print i
>
> Comentario: en la consulta se pueden agregar más condiciones a la cláusula
> WHERE y a los resultados
>
> Marcelo
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20150718/ced70d4e/attachment.html>
Más información sobre la lista de distribución Python-es