Hi all,
I'm trying to write a GROUP BY query grouped by a function (to_char)
using a variable format, which could be 'yy' or 'yyyy'
as in:
sql=session.query(
func.to_char(Prestazione.c.data,format),
func.sum(Prestazione.c.quantita).label('quantita'),
func.sum(Prestazione.c.importo).label('importo')
)
sql=sql.filter(Verifica.c.codice == Tariffa.c.codice)
sql=sql.filter(Prestazione.c.id_tariffa == Tariffa.c.id)
sql=sql.group_by(Verifica.c.codice, func.to_char(Prestazione.c.data,format))
it works fine in PostgreSQL...
pg:
SELECT to_char(prestazione.data, %(to_char_2)s) AS to_char_1,
sum(prestazione.quantita) AS quantita, sum(prestazione.importo) AS importo
FROM prestazione, verifica, tariffa
WHERE verifica.codice = tariffa.codice
AND prestazione.id_tariffa = tariffa.id
AND prestazione.aa_bolletta = %(aa_bolletta_1)s
AND prestazione.nr_bolletta = %(nr_bolletta_1)s
AND prestazione.sezionale = %(sezionale_1)s
GROUP BY verifica.codice, to_char(prestazione.data, %(to_char_3)s)
{'to_char_2': 'yyyy', 'nr_bolletta_1': 1, 'aa_bolletta_1': 2009,
'sezionale_1': u'53', 'to_char_3': 'yyyy'}
Col ('to_char_1', 'quantita', 'importo')
Row (u'2009', Decimal('1.000'), Decimal('482.000'))
Out[1]: (u'2009', Decimal('1.000'), Decimal('482.000'))
... but Oracle...
DatabaseError: (DatabaseError) ORA-00979: not a GROUP BY expression
'SELECT to_char(prestazione.data, :to_char_2) AS to_char_1,
sum(prestazione.quantita) AS quantita, sum(prestazione.importo) AS importo
FROM prestazione, verifica, tariffa
WHERE verifica.codice = tariffa.codice
AND prestazione.id_tariffa = tariffa.id
AND prestazione.aa_bolletta = :aa_bolletta_1
AND prestazione.nr_bolletta = :nr_bolletta_1
AND prestazione.sezionale = :sezionale_1
GROUP BY verifica.codice, to_char(prestazione.data, :to_char_3)'
{'to_char_2': 'yyyy', 'nr_bolletta_1': 1, 'aa_bolletta_1': 2010,
'sezionale_1': u'53', 'to_char_3': 'yyyy'}
version: SA 0.6beta3
Thanks for any help
j
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.