2011-03-02 5 views
0

, 당신은을 통해 일부 데이터를 복사하려면다중 선택? MySQL의에서

INSERT INTO t1 (col1) SELECT col1 FROM t2 

같은 것을 쓸 수 있습니다. 여러 테이블에서 일부 데이터를 복사하려면 어떻게해야합니까?

INSERT INTO t1 (col1) SELECT col1 FROM t2, SELECT col1 FROM t3 

과 같은 것을 쓸 수 있습니까?

답변

2

는 내가 그것을

INSERT INTO t1 (col1) SELECT col1 FROM t2 UNION SELECT col1 FROM t3 

편집해야한다고 생각 : 당신이 데이터를 복사 이동 지금 전에, 당신은 UNION 데이터의 중복을 제거합니다 UNION ALL

UNION를 사용하여 확인 할 수 있습니다. UNION ALL은 두 결과 집합을 간단히 연결합니다.

+0

작동합니다. 이것은 나를 몇 가지 코드 중복을 저장합니다, 감사합니다 :) – mpen

+0

어떻게 "중복"정의? 선택한 모든 열과 마찬가지로 동일해야합니까? 또는 해당 테이블의 모든 열, 심지어 선택되지 않은 열까지? – mpen

+0

중복이 제거된다는 것은 단순히 t1과 t2의 모든 값을 연결 한 다음 중복 (DISTINCT)을 제거한다는 것을 의미합니다. UNION ALL은 단순히 t1과 t2의 두 결과 집합을 연결합니다. http://stackoverflow.com/questions/49925/what-is-the-difference-between-union-and-union-all – Simon