簡體   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