2012-04-17 4 views
2

웹 및이 포럼을 만족스럽지 않게 검색했습니다. Windows XP에서 Python 2.7 및 pyODBC 사용하기. 아래의 코드를 실행하여 문제없이 두 개의 다른 데이터베이스에서 두 개의 커서를 생성 할 수 있습니다. 이상적으로, 나는 다음 thusly 히 이러한 결과 커서에 가입하고 싶습니다 :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 

파이썬이나 pyODBC의 SQL 문을 사용하여 커서를 가입하는 방법이 있나요? 이 커서를 공용 DB (SQLite3?)에 저장해야합니까? 이 두 커서에서이 요약을 생성하는 순수 파이썬 데이터 처리 방법이 있습니까?

감사합니다.

근무 코드 :

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 데이터베이스로 가져 오거나 다른 방식으로 사용하는지 여부는 유스 케이스의 세부 사항에 따라 다르지만 이론적으로는 효과가 있습니다.