我是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
。)
有人可以指出错误或建议更好的方法来合并两个表中的行吗?
答案 0 :(得分:0)
首先,您可以输出产生问题的SQL吗?您应该可以通过在echo=True
声明中设置create_engine
来完成此操作。
其次,这只是一种预感,请尝试重新安排子查询:
table1_and_table2 = sql.union_all(self.tables['table1'].select().alias("table1_subquery"),
self.tables['table2'].select().alias("table2_subquery"))
如果我的预感是正确的,那就是创建别名,然后运行查询,结果查询结果会重新别名并发生冲突