我想在兩個表上執行減號操作,如下面的代碼。SELECT column_list_1FROM T1MINUS SELECT column_list_2FROM T2;這是發生遷移之后的情況。我有這兩個數據庫,我已經這樣連接了:import cx_Oracleimport pandas as pdimport pypyodbcsource = cx_Oracle.connect(user, password, name)df = pd.read_sql(""" SELECT * from some_table """, source)target = pypyodbc.connect(blah, blah, db) df_2 = pd.read_sql(""" SELECT * from some_table """, target) 如何使用查詢在 python 中對源數據庫和目標數據庫運行減號操作?
2 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
選擇其中之一:
使用 Python 在兩個結果集之間執行“手動”減運算。
通過 dblink 使用 Oracle。在這種情況下,您不需要從 Python 打開兩個連接。

拉莫斯之舞
TA貢獻1820條經驗 獲得超10個贊
如果你有一個數據庫鏈接,那么你可以做一個減號,或者你可以使用 Pandas 的合并。
df = pd.read_sql(""" SELECT * from some_table """, source)
df_2 = pd.read_sql(""" SELECT * from some_table """, target)
df_combine = df.merge(df2.drop_duplicates(),how='right', indicator=True)
print(df3)
df_combine 中將創建一個新列 _merge,其中包含值(數據框中都存在的行)和 right_only(數據框 df 中的行)。
以同樣的方式,您可以加入左合并。
添加回答
舉報
0/150
提交
取消