繁体   English   中英

使用sqlalchemy的两个具有相同列的表的联合

[英]Union of two tables with same columns using sqlalchemy

我是sqlalchemy的新手,我想知道如何组合两个具有相同列的表。 我正在做以下事情:

table1_and_table2 = sql.union_all(self.tables['table1'].alias("table1_subquery").select(),
self.tables['table2'].alias("table2_subquery").select())

我看到这个错误:

OperationalError:(OperationalError)(1248,'每个派生表必须有自己的别名')

(注意self.tables['table1']返回一个名为table1的sqlalchemy Table 。)

有人可以指出错误或建议更好的方法来组合两个表中的行?

首先,您是否可以输出产生问题的SQL? 您应该可以通过在create_engine语句中设置echo=True来完成此操作。

其次,这只是一个预感,尝试重新安排你的子查询:

table1_and_table2 = sql.union_all(self.tables['table1'].select().alias("table1_subquery"),
    self.tables['table2'].select().alias("table2_subquery"))

如果我的预感是正确的,它会创建别名,然后运行查询,结果查询结果会重新别名并发生冲突

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM