2014-05-12 2 views
2

을 사용하여 pyodbc를 사용하여 새 Access 테이블 만들기 3 개의 다른 Access 테이블을 기반으로 Component_New라는 새 테이블을 만들고 공통 필드를 사용하여 조인했습니다.SELECT ... INTO

Make_Table = """ SELECT mapunit.mukey, copmgrp.cokey, copmgrp.copmgrpkey, copm.pmkind, copm.pmorigin, component.comppct_r, component.compname, component.majcompflag, copmgrp.pmgroupname INTO Component_Table FROM (mapunit INNER JOIN component ON (mapunit.mukey = component.mukey) INNER JOIN copmgrp ON (component.cokey = copmgrp.cokey) INNER JOIN copm ON (copmgrp.copmgrpkey = copm.copmgrpkey) INNER JOIN chorizon ON (component.cokey = chorizon.cokey)) """ 
cursor.execute(Make_Table) 
con.commit() 

것은 내 실수를 찾을 수 없습니다 :

나는 현재 다음있다! 미리 감사드립니다. 내 질문의 더 나은 이해를 위해

: 나는 단순히 다음 추가/가입 정보를 가지고 가고있는 테이블을 만드는 방법을 알고 싶어요 -> JOINing mdb tables with pyodbc

내 다음의 코드는, Access에서 작동하지만 나는 여러 다른 카운티을 통해 루프가 같은 추가 할 수 있도록 파이썬에 넣어 필요가/가입 : 파이썬 Make_Table 문자열

SELECT mapunit.mukey, copmgrp.cokey, copmgrp.copmgrpkey, copm.pmkind, copm.pmorigin, component.comppct_r, component.compname, component.majcompflag, copmgrp.pmgroupname 
INTO Component_Table 
FROM (((mapunit INNER JOIN component ON mapunit.mukey = component.mukey) 
INNER JOIN copmgrp ON component.cokey = copmgrp.cokey) 
INNER JOIN copm ON copmgrp.copmgrpkey = copm.copmgrpkey) 
INNER JOIN chorizon ON component.cokey = chorizon.cokey; 
+0

코드 형식을 사용하십시오 –

+0

코드 형식으로 생각하십니까? – Alex

+1

Nope. 내 편집을 참조하십시오. –

답변

0

괄호가 올바른 위치에 있지 않습니다. 파이썬 스크립트 예제에서 당신이 (잘못)에만 반면 Access에서 작동 이후의 예에서 조건

SELECT 
    mapunit.mukey, copmgrp.cokey, copmgrp.copmgrpkey, copm.pmkind, copm.pmorigin, component.comppct_r, component.compname, component.majcompflag, copmgrp.pmgroupname 
INTO Component_Table 
FROM 
    (
     mapunit 
     INNER JOIN 
     component 
      ON (mapunit.mukey = component.mukey) 
     INNER JOIN 
     copmgrp 
      ON (component.cokey = copmgrp.cokey) 
     INNER JOIN 
     copm 
      ON (copmgrp.copmgrpkey = copm.copmgrpkey) 
     INNER JOIN 
     chorizon 
      ON (component.cokey = chorizon.cokey) 
    ) 

ON 주위에 괄호를 가하고 있습니다 당신은 전체 INNER이 구조를 가입 주위에 괄호를 (제대로)이, Access SQL에서 필요에 따라

SELECT 
    mapunit.mukey, copmgrp.cokey, copmgrp.copmgrpkey, copm.pmkind, copm.pmorigin, component.comppct_r, component.compname, component.majcompflag, copmgrp.pmgroupname 
INTO Component_Table 
FROM 
    (
     (
      (
       mapunit 
       INNER JOIN 
       component 
        ON mapunit.mukey = component.mukey 
      ) 
      INNER JOIN 
      copmgrp 
       ON component.cokey = copmgrp.cokey 
     ) 
     INNER JOIN 
     copm 
      ON copmgrp.copmgrpkey = copm.copmgrpkey 
    ) 
    INNER JOIN 
    chorizon 
     ON component.cokey = chorizon.cokey 

괄호가 올바른 위치에 오도록 Python 코드의 SQL 문자열을 조정해야합니다.