2016-12-08 1 views
1

두 번째 테이블의 모든 열로 한 테이블의 선택된 열만 병합하는 새로운 SQLite 테이블을 만들려고합니다. 두 테이블은 하나의 열 (한 테이블의 기본 키와 두 번째 테이블의 외래 키) 만 공유합니다.SQLite : 두 테이블에서 선택한 열을 결합하십시오.

create temp tablex as select column 1, column2 from table1 natural join select * from table2;

: -

create temp tablex as select column 1, column2 from table1 natural join table2;

실행에 가입하지만, 결과 테이블은 테이블 1 만 열이 표 2 에서 열 아무도 내가 표 2에 대한 하위 쿼리를 사용하여 시도하지 않은

또는

create temp tablex as select column 1, column2 from table1 natural join (select * from table2);

(그리고 오른쪽에 몇 가지 더 찔러서),하지만이 모든 내게 구문 오류 "가까운 선택하십시오." 미리 테이블 1의 열 하위 집합을 만들고 "선택"하지 않고 결과 두 테이블을 자연스럽게 병합하면 병합을 잘 수행 할 수 있습니다. 그러나 나는 이것을 하나의 SQL 문에서 수행 할 수 있어야한다고 생각한다. 내가 뭘 잘못하고 있니? 필요한 경우 모델을 만들 수 있지만 올바른 구문으로 한 점을 놓친 것으로 가정합니다. 미리 도움을 주셔서 감사합니다. 래리 훈시 커

+0

원본 테이블의 열은 무엇입니까? 어떤 열을 결과에 포함 하시겠습니까? –

답변

1
create temp tablex as select table1.column1, table1.column2, table2.column3, table2.column4 from table1, table2 where table1.PrrimaryKey = table2.ForiegnKey; 

당신은 이렇게 할 수 있습니다.

1

예. 이 작동합니다.

create temp table a as select b.col1, b.col2, c.* from table1 as b natural join table2 as c;

많은 감사합니다.

관련 문제