2012-04-17 81 views
2

搜索網絡和此論壇不滿意。在Windows XP上使用Python 2.7和pyODBC。我可以得到下面的代碼運行,並從兩個不同的數據庫生成兩個遊標沒有問題。理想情況下,我會再像正是如此加入這些結果光標:在Python中使用遊標

SELECT a.state, sum(b.Sales) 
FROM cust_curs a 
    INNER JOIN fin_curs b 
    ON a.Cust_id = b.Cust_id 
GROUP BY a.state 

有沒有辦法加入使用Python或pyODBC SQL語句遊標?我需要將這些遊標存儲在一個公共的數據庫(SQLite3?)中以完成此操作嗎?有沒有一種純粹的Python數據處理方法可以從這兩個遊標生成這個總結?

感謝您的考慮。

工作代碼:

import pyodbc 

# 
# DB2 Financial Data Cursor 
# 
cnxn = pyodbc.connect('DSN=DB2_Fin;UID=;PWD=') 
fin_curs = cnxn.cursor() 

fin_curs.execute("""SELECT Cust_id, sum(Sales) as Sales 
        FROM Finance.Sales_Tbl 
        GROUP BY Cust_id""") 

# 
# Oracle Customer Data Cursor 
# 
cnxn = pyodbc.connect('DSN=Ora_Cust;UID=;PWD=') 
cust_curs = cnxn.cursor() 

cust_curs.execute("""SELECT Distinct Cust_id, gender, address, state 
        FROM Customers.Cust_Data""") 

回答

1

遊標簡單對象用於執行SQL命令和檢索的結果。數據不會遷移到新的數據庫中,因此連接是不可能的。如果你想加入數據,你需要將這兩個表放在同一個數據庫中。這是否意味着將這兩個表及其數據導入SQLite數據庫或以其他方式執行取決於您的用例的具體情況,但這在理論上會起作用。