2017-02-10 6 views
0

저는 SQL에 대해 매우 익숙합니다. 그래서 내 쿼리가 완벽 해 보이지 않으면 미리 사과드립니다. 이 문에 대한 새 테이블을 만들려고합니다. 기본 키에 6 개의 테이블이 조인되었습니다. Create table as (하지만 작동하지 않습니다). 누구든지 나를 기쁘게 할 수 있다면 크게 크게 감사 할 것입니다.현재 테이블에서 새 테이블을 만듭니다. 6 개의 테이블을 합치는 내부

SELECT *  
FROM DATABASE.Table1 
INNER JOIN DATABASE.Table2 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table2.PrimaryKey 
INNER JOIN DATABASE.Table3 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table3.PrimaryKey 
INNER JOIN DATABASE.Table4 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table4.PrimaryKey 
INNER JOIN DATABASE.Table5 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table5.PrimaryKey 
INNER JOIN DATABASE.Table6 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table6.PrimaryKey 
WHERE PrimaryKey = ‘1’ 
+0

아마도 * 모호한 열 * 오류가 발생했을 수 있습니다. 당신은 explicity가 필요한 컬럼을 선택해야합니다. – GurV

+0

'does not work does not does '는 에러 메시지를 게시하십시오. 올바른 옵션은 CREATE TABLE AS입니다. 따라서 경쟁 쿼리를 표시하면 더 좋습니다. 하지만 GurV와 함께 묻는 질문에는 "PrimaryKey"라는 여섯 개의 필드가 있습니다 –

+0

감사합니다. – lpd983

답변

0

그래서 각 소스 테이블의 모든 필드가있는 하나의 테이블을 원하십니까? 그렇지 않으면 6을해야하기 때문에, 당신은 [필드 목록]을 교체하고 새 테이블에 원하는 모든 필드를 열거 할 필요가

SELECT [Field List] INTO MyNewConsolidatedTable  
FROM DATABASE.Table1 
INNER JOIN DATABASE.Table2 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table2.PrimaryKey 
INNER JOIN DATABASE.Table3 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table3.PrimaryKey 
INNER JOIN DATABASE.Table4 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table4.PrimaryKey 
INNER JOIN DATABASE.Table5 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table5.PrimaryKey 
INNER JOIN DATABASE.Table6 
ON DATABASE.Table1.PrimaryKey = DATABASE.Table6.PrimaryKey 
WHERE PrimaryKey = ‘1’ 

참고 : 당신은 INTO 있습니다 .... SELECT를 사용할 수 있습니다 SQL이 허용하지 않는 PrimaryKey라는 필드.