2014-09-30 5 views
1

이것은 매우 간단합니다. 초보자입니다.TSQL 아무도 공통 열이없는 세 테이블 조인

나는 Excel에서 가져온 두 개의 테이블을 가지고 있으며 스프레드 시트의 전자 메일 주소를 기반으로 기존 전자 메일 주소 테이블을 업데이트해야합니다.

내 유일한 문제는 열을 공유하는 테이블이 없기 때문에 공통 열에 가입 할 수 없다는 것입니다. 조인에서, 경우

그래서 내가 궁금, 난 그냥 어떤 도움을 주시면 감사하겠습니다

FROM table a 
INNER JOIN table b ON b.column 'name' = a.column 'nameplus' ` 

같은 것을 넣을 수 있습니다!

+1

두 표의 일부 샘플 데이터를 표시하십시오. – Mihai

+0

코드가 [SQL 구문] (http://technet.microsoft.com/en-us/library/ms190014 (v = sql.105) .aspx)을 따르지 않습니다. –

+0

또한 제목과 관련된 표 수에 대한 설명이 일치하지 않습니다. 그래서, 그것은 두세 개입니까? –

답변

1

A는 cross join 될 효과적으로 구현 될 수있는 조건에 일치하지 않고 가입 : 당신이 ON 기간을 가져야 즉, 테이블 B의 모든 행과 일치하는 테이블 A의 모든 행이

당신이 다음 INNER JOIN을 지정하면되는 어떤 것이 든 일치하든 그렇지 않든 : 귀하의 예에서는 기술적으로 일치 할 수 있습니다 (예 : b.column은 실제로 - 아마도 완전히 우연히 일치 - a.column).

그래서 당신도

  • CROSS JOIN 가지고 테이블을 연결하는 방법이 있지만, 결과는 행

또는 모든 가능한 조합이다

  • inner join 어디를 행을 결합하는 방법을 지정해야합니다 (일치하는 NE에 관계없이 양쪽에서 모든 행을 포함 시키려면 left/right outer join). ss)
+0

오 세상에 ... 나는 십자가에 가입하는 것을 생각하지 않았다는 것을 믿을 수 없다. 이것이 내가 필요한 전부이다. 고맙습니다! "나는 멍청이 다. 그래서 대답을 선택하기 위해 기다려야한다."대기 시간이 다 됐습니다. 나는 당신의 대답을 선택할 것입니다. 정말 고마워! – PapaNer

+0

@PapaNer - 오신 것을 환영합니다! – davek

+0

@PapaNer -'CROSS JOIN'이 명시 적으로'Cartesian product'를 생성한다는 것을 이해하시기 바랍니다. –

관련 문제