ah, I see. Thanks Mike.

On Wednesday, October 21, 2015 at 6:19:32 PM UTC-7, Kristi Tsukida wrote:
>
> It looks like only one aliased table gets aliased correctly when joining 
> to multiple aliased tables. 
>
> Test case: 
>
> from __future__ import print_function
> from sqlalchemy import Integer, String, select, Date, and_
> from sqlalchemy import Column
>
> from sqlalchemy.ext.declarative import declarative_base
> from sqlalchemy.orm.util import aliased
>
> Base = declarative_base()
>
> class Users(Base):
>     __tablename__ = "users"
>     id = Column(Integer, primary_key=True)
>     name = Column(String)
>     date = Column(Date)
>
> a = aliased(Users, name="aaa")
> b = aliased(Users, name="bbb")
> c = aliased(Users, name="ccc")
>
> sel = select([a.name, b.name]).select_from(
>     c.__table__.join(
>         a.__table__,
>         a.name == c.name,
>     ).join(
>         b.__table__,
>         b.date == c.date,
>     )
> )
>
> print(sel)
>
> Output:
> SELECT aaa.name, bbb.name
> FROM users AS bbb, users JOIN users ON aaa.name = ccc.name JOIN users ON 
> bbb.date = ccc.date
>
> I expect there to be three "AS" clauses in this sql, but there is only 
> one, e.g.
> SELECT aaa.name, bbb.name
> FROM users AS ccc JOIN users AS aaa ON aaa.name = ccc.name JOIN users AS 
> bbb ON bbb.date = ccc.date
>
> Using sqlalchemy 1.0.9, python 3.4.3
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to