[Python-es] sqlalchemy, campos calculados y acumulados

Marcelo Barbero marcelobarbero en arnet.com.ar
Vie Jul 17 18:41:38 CEST 2015


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


Más información sobre la lista de distribución Python-es