2013-06-03 5 views
0

두 개의 기존 테이블의 특정 열을 포함하는 새 테이블을 만들고 싶습니다. 일부 열은 기존 표에 있지만 모두는 아닙니다. "unique_number"열은 두 테이블에 있습니다. 내가 원하는 것은 동일한 unique_number가 두 테이블에 모두 있는지 확인한 다음 해당 unique_number에 해당하는 (두 테이블 모두에서) 모든 열이있는 단일 행을 작성하는 것입니다. unique_number가 기존 테이블과 기존 테이블 모두에 없으면 새 테이블에 해당 unique_number를 포함시키는 것에 신경 쓰지 않습니다.전체 조인에서 새 테이블을 만듭니다.

나는 SAS에서 이것을 할 수 있지만, 나는 프로그램에 대한 약간의 배경 지식을 가지고 SQL에서이를 수행해야만한다.

+1

가 왜이 일을 다른 테이블에서 데이터를 반복 가난한 기술이기 때문에. 귀하의 목적에 맞는 기존 테이블을 쿼리하는 것이 아닙니까? 새 테이블을 만들면 데이터가 변경되면서 데이터를 동기화 상태로 유지하려는 계획은 무엇입니까? – HLGEM

답변

4

FULL JOIN 대신 INNER JOIN이 필요합니다. 이것은 당신이 원하는 것을하기위한 방법입니다 :

SELECT A.unique_number, 
     A.col1FromA, -- list the other columns from TableA here 
     B.col1FromB -- list the other columns from TableB here 
INTO TableC 
FROM TableA A 
INNER JOIN TableB B 
    ON A.unique_number = B.unique_number 
+0

이 과정에서 표 C가 생성됩니까? – user2448666

+0

@ user2448666 예, INTO TableC이이 테이블을 쉽게 새 테이블로 만들 수있는 방법은 – Lamak

0

설명이 정확하면 "unique_number"열에 대한 내부 조인이 필요합니다.

select t1.unique_number, t1.other_column, t2.something_else 
into new_table_name 
from one_table t1 
inner join other_table t2 
on t1.unique_number = t2.unique_number; 

이 "일부 열이 두 테이블에있다"고 합병증 얼버무, 두 테이블에 그 열은 서로 다른 값을 가질 수있다. 그것에 대해 생각해보십시오.

Select...into syntax

+0

입니까? – user2448666

+0

답변이 업데이트되고 링크가 추가되었습니다. –

관련 문제