Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用sqlalchemy合并具有相同列的两个表_Python_Sql_Sqlalchemy - Fatal编程技术网

Python 使用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,“每个派生

我是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"))
如果我的直觉是正确的,它会创建别名,然后运行查询,结果查询结果会被重新命名和冲突