On Nov 7, 2013, at 9:18 PM, Michael Bayer <[email protected]> wrote:

> 
> If i understand what that actually means, then you’d get that effect, using 
> an extra subquery, like this:
> 
> from sqlalchemy import Column, Integer, select, func
> from sqlalchemy.orm import Session
> from sqlalchemy.ext.declarative import declarative_base
> from sqlalchemy.sql import column
> 
> Base = declarative_base()
> 
> class Model(Base):
>     __tablename__ = 'model'
>     id = Column(Integer, primary_key=True)
> 
> series = select([column('number')]).select_from(func.generate_series(1, 100))
> 
> sess = Session()
> q = sess.query(Model, series.c.number).filter(Model.id > series.c.number)
> 
> print q
> 
> 
> output:
> 
> SELECT model.id AS model_id, number AS number 
> FROM model, (SELECT number 
> FROM generate_series(:generate_series_1, :generate_series_2)) 
> WHERE model.id > number

err plus alias:

series = select([column('number')]).select_from(func.generate_series(1, 
100)).alias('series')

sess = Session()
q = sess.query(Model, series.c.number).filter(Model.id > series.c.number)


SELECT model.id AS model_id, series.number AS series_number 
FROM model, (SELECT number 
FROM generate_series(:generate_series_1, :generate_series_2)) AS series 
WHERE model.id > series.number

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to