2009-05-20 11 views
12

¿Es posible expresar una consulta como la siguiente en el "Lenguaje de Expresión SQL" utilizado en SQLAlchemy?¿Existe soporte para el operador IN en el "Lenguaje de Expresión SQL" utilizado en SQLAlchemy?

SELECT * FROM foo WHERE foo.bar IN (1,2,3)

Quiero evitar escribir la cláusula WHERE en texto sin formato. ¿Hay alguna forma de expresar esto similar a mis ejemplos a continuación o de alguna manera que no use texto sin formato?

select([foo], in(foo.c.bar, [1, 2, 3]))
select([foo]).in(foo.c.bar, [1, 2, 3])

Respuesta

19
select([foo], foo.c.bar.in_([1, 2, 3])) 

Usted puede utilizar el método .in_() con columnas o atributos con instrumentado. Ambos trabajan.

It is mentioned here en el primer tutorial de SQLAlchemy.

+0

Gracias por la respuesta rápida. Un error tipográfico en su ejemplo, _in debe estar en_. – Mathias

+0

@Mathias: gracias. – nosklo

+1

Ambos enlaces están muertos. – suzanshakya

Cuestiones relacionadas