2011-01-30 7 views
0

는 같은 4 개 테이블 table1,table2,table3 및 모든 테이블에 table4여러 테이블에서 비교하고 삽입 하시겠습니까?

table1 has got 60000 datas 
table2 has got 85000 datas 
table3 has got 78000 datas 
table4 has got 68000 datas 

인덱스가 있습니다하지만 사람은 서로보다 작거나 더 얻었다. 예를 들어, 이름이 john 인 경우 모든 4 개의 테이블에 저장됩니다. 그러나 mathew은 두 테이블이 될 수 있지만 다른 두 테이블은 저장되지 않을 수 있으며 ethan은 세 개의 테이블에 저장 될 수 있지만 네 번째 테이블에는 저장되지 않을 수 있습니다.

는 최대 개까지 첫 번째 60K 모든 인덱스/이름은 동일하지만, 후에는

그래서 어떻게 한 테이블에 모든 테이블을 병합 할 수 있습니다 불규칙라고? 모든 네 개의 테이블에는 각각 2 개의 열이 있고 첫 번째 열은 이름이고 두 번째 열은 이름입니다.

답변

1

아마도이 방법을 사용하는 것이 더 효율적 일 수 있습니다. 그러나 이것이 가장 먼저 생각났습니다.

INSERT INTO table5 
SELECT DISTINCT Table5Content.* FROM (
SELECT * FROM table1 
UNION ALL 
SELECT * FROM table2 
UNION ALL 
SELECT * FROM table3 
UNION ALL 
SELECT * FROM table4 
UNION ALL 
SELECT * FROM table5 
) as Table5Content 
+0

오류 # 1248을 받고 - 모든 파생 테이블은 자신의 별명 –

+0

@aron의 N이 있어야합니다 : 나는 척의 쿼리에 추가 된 별명이 문제를 해결해야한다. – greg0ire

+0

죄송합니다. 내 등반 그레그를 가져 주셔서 고마워요. :) –

관련 문제