合并许多表 SQLalchemy
Union many tables SQLalchemy
我有一个 table 名称的列表,在映射到 SQLalchemy ORM 对象的 Postgres 数据库中有许多 table(几十个)。它们都有公共列,我想将所有 table 中的一组子列合并到一个 CTE 或子查询中,以用于进一步的查询等。
我知道使用 table1.union(table2)
会联合 2 table。但是,我不想复制粘贴几十次相同的代码。
有没有一种优雅的方法可以做到这一点?
谢谢。
解法:
其实很简单Ian.
all_tables = []
for table in list_of_tables:
this_table = select(.....)
all_tables.append(this_table)
# union
unioned_tables = union(*all_tables)
我有一个 table 名称的列表,在映射到 SQLalchemy ORM 对象的 Postgres 数据库中有许多 table(几十个)。它们都有公共列,我想将所有 table 中的一组子列合并到一个 CTE 或子查询中,以用于进一步的查询等。
我知道使用 table1.union(table2)
会联合 2 table。但是,我不想复制粘贴几十次相同的代码。
有没有一种优雅的方法可以做到这一点?
谢谢。
解法:
其实很简单Ian.
all_tables = []
for table in list_of_tables:
this_table = select(.....)
all_tables.append(this_table)
# union
unioned_tables = union(*all_tables)