2

搜索了网络和这个论坛,不满意。在 Windows XP 上使用 Python 2.7 和 pyODBC。我可以让下面的代码运行并从两个不同的数据库生成两个游标而不会出现问题。理想情况下,我想加入这些结果游标:

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""")
4

1 回答 1

2

游标只是用于执行 SQL 命令和检索结果的对象。数据不会迁移到新数据库中,因此无法进行连接。如果您想加入数据,您需要将两个表放在同一个数据库中。这是否意味着将表及其数据都放入 SQLite 数据库或以其他方式执行取决于您的用例的具体情况,但这在理论上是可行的。

于 2015-07-10T18:29:11.133 回答