SQLAlchemy使用多个表构建可选查询

时间:2016-08-27 11:26:47

标签: python sqlalchemy flask-sqlalchemy

我借助于我的烧瓶网页应用程序创建了一个物化视图 Jeff Widman

不幸的是,他只描述了如何连接两个表。我想创建一个包含两个以上表格的物化视图。

class AnalyticV(MaterializedView):
  __table__ = create_mat_view("my_view",
                             db.select([Table1.id.label('id'),
                                        Table1.title.label('title'),
                                        Table2.location.label('loc'),
                                        Table3.time.label('time'),]
                             ).select_from(db.join(Table1, Table2, isouter=True) )
                             )

如何插入第二个

select_from(db.join(Table1, Table3, isouter=True))

Table1与Table2和Table3有两个关系

SQL应如下所示:

SELECT Table1.id AS id,
       Table1.title AS title,
       Table2.location AS loc,
       Table3.time AS time 
FROM Table1 LEFT OUTER JOIN Table2 ON Table2.id = Table1.table2_id
LEFT OUTER JOIN Table3 ON Table3.id = Table1.table3_id

1 个答案:

答案 0 :(得分:1)

只需添加其他联接

select_from(db.join(Table1, Table2, isouter=True).join(Table3, isouter=True))