Python 使用sqlalchemy合并具有相同列的两个表
我是sqlalchemy的新手,我想知道如何将具有相同列的两个表合并。我正在做以下工作:Python 使用sqlalchemy合并具有相同列的两个表,python,sql,sqlalchemy,Python,Sql,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,“每个派生
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的sqlalchemyTable
。)
有人能指出错误或建议更好的方法来组合两个表中的行吗?首先,您能输出产生问题的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"))
如果我的直觉是正确的,它会创建别名,然后运行查询,结果查询结果会被重新命名和冲突