Nobody seems to be answering this one so here you go:
from sqlalchemy import and_
session.query(
T1.c11, T1.c12, T2.c23).join(
T2, and_(
T1.c11==T2.c21,
T1.c12==T2.c22,
T2.c24 > xx)
)
relevant concepts:
querying individual columns:
http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#querying
comparison operations, AND:
http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#common-filter-operators
joining:
http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#querying-with-joins
On Feb 26, 2012, at 10:12 AM, Flair wrote:
> Hi all,
>
> Suppose I have two tables t1 and t2 defined as following declarative
> classes.
> There is no foreign key setup in database between these two tables and
> I want to write the join statement in sqlalchemy format which equates
> to sql like this:
>
> select t1.c11, t1.c12, t2.c23
> from t1 join t2
> on t1.c11==t2.c21 and
> t1.c12==t2.c22 and
> t2.c24 > xx;
>
> Anyone could inform me how to achieve this?
>
> class T1(object):
>
> __tablename__ = 't1'
>
> _id = Column('id', Integer, primary_key = True)
> c11 = Column('c11', Integer)
> c12 = Column('c12', Integer)
>
>
> class T2(object):
>
> __tablename__ = 't2'
>
> _id = Column('id', Integer, primary_key = True)
> c21 = Column('c21', Integer)
> c22 = Column('c22', Integer)
> c23 = Column('c23', Integer)
> c24 = Column('c24', Integer)
>
> --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/sqlalchemy?hl=en.
>
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.