Ok, I found "Multi-column IN clause" is unsupported in Sqlite: http://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql
Is it supposed to work in MySQL instead or there is something wrong in my sqlalchemy query? I can't test it in MySQL now but it will be used in production environment In Sqlite I guess I need to retrieve data from both queries in 2 sets and make difference() between them. Thanks On Dec 9, 3:28 pm, neurino <neur...@gmail.com> wrote: > I get an OperationalError trying to use tuple_ and in_ in a query with > a > Sqlite db. > > This is the query (select the distinct "id_acq - id_centr" couples not > already present in another table) > > query = model.Session.query( > Dato.id_elab, Acquisizione.id_centr)\ > .filter(Dato.id_acq==Acquisizione.id_acq)\ > .distinct()\ > .filter(~tuple_(Dato.id_elab, Acquisizione.id_centr)\ > .in_(select([Sensore.id_elab, Sensore.id_centr]))) > > I get this error: > > OperationalError: (OperationalError) near ",": syntax error > u'SELECT DISTINCT dati.id_elab AS dati_id_elab, acquisizioni.id_centr > AS acquisizioni_id_centr > FROM dati, acquisizioni > WHERE dati.id_acq = acquisizioni.id_acq AND (dati.id_elab, > acquisizioni.id_centr) NOT IN > (SELECT sensori.id_elab, sensori.id_centr FROM sensori)' () > > I guess the ',' cited in error is the one on the 3rd row > > Now I wonder if it's a Sqlite limitation, the SQL string seems correct > to me. > > Any advice? > > Thanks for your support -- 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.