2010-04-29 7 views
0

저장해야하는 데이터가 포함 된 테이블을 사용하여 이전 데이터베이스 생성을 수정하려고합니다. 일부 테이블은 계속 재사용 할 수 있으므로 완전히 새로운 데이터베이스를 만드는 대신 기존의 테이블을 2 개의 새 테이블로 분할해야합니다. 이제 2 개의 새 테이블에 데이터를 삽입하려고합니다. 이전 테이블의 중복 데이터 때문에이 작업을 수행하는 데 어려움을 겪고 있습니다.데이터베이스 테이블 복사

오래된 테이블 구조 :

ClientProjects clientId PK 
       clientName 
       clientProj 
       hashkey MD5 (clientname and clientProj) 

새 테이블 구조 :

client   clientId PK 
       clientName 

projects   queryId PK 
       clientId PK 
       projectName 

나는이 말이 바랍니다. 문제는 이전 테이블에서 예를 들어 클라이언트에 여러 개의 clientId가 있다는 것입니다.

답변

1

당신의 CLIENTNAME를 치죠하는 고유 사용자 수 있도록 같은 :

INSERT client (clientId, clientName) 
    SELECT MAX(clientID), clientName FROM oldTable GROUP BY clientName; 

INSERT project (clientId, projectName) 
    SELECT n.clientId, o.projectName from client n 
     INNER JOIN oldTable o on o.clientName = n.clientName; 
관련 문제