2012-04-17 77 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数据库或以其他方式执行取决于您的用例的具体情况,但这在理论上会起作用。