SQLAlchemy Joining with subquery issue

Once you call subquery(), there is no access to objects, but only to columns via .c.{column_name} accessor.

Do the following for sub_query instead: load only the columns you need in order to avoid any name collisions:

sub_query = db.session.query(
        Bill.id, Bill.personId, BillToEvent.eventId
    ).join(BillToEvent, BillToEvent.billId == Bill.id).subquery()

Then in your query use column names with .c.column_name:

query = query.outerjoin(
    sub_query, and_(
        sub_query.c.personId == CalendarEventAttendee.personId, 
        sub_query.c.eventId == CalendarEventAttendee.eventId)
    )
results = query.all()

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)