[英]sqlalchemy: union query few columns from multiple tables with condition
[英]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.