SQLALCHEMY表联接相关问题

时间:2019-07-12 09:37:35

标签: python sql sqlalchemy

我有3张桌子。只有在某些条件/标记为真时,才需要一直连接2个,而第3个需要一直连接。同样,如果为true,则还需要添加group_by和order_by。需要帮助如何实现它。 在示例代码中,可以看到我编写了2个独立的查询,但是我正在寻找某种方式可以检查同一条件的所有查询。

    # When the flag is False
    childList = session.query( table1.-------).\
       join(table2, and_(table1.id == table2.id)).\
       group_by(table2.name)).\
       order_by( table1.c.order).all()

   # When the flag is true
    childList = session.query( table1.-------).\
       join(table2, and_(table1.id == table2.id)).\
       join(table3, and_(table3.id == table2.id)).\
       group_by(table2.name,table3.name)).\
       order_by(table3.c.order).all()

0 个答案:

没有答案