2012-08-28 6 views
1

TB1, TB2, TB3은 서버의 하나의 데이터베이스에 있고 TB4은 다른 데이터베이스에 있습니다. 열 A1, B2 -두 데이터베이스에 걸쳐 4 개의 테이블을 결합하십시오.

  • TB1 다음과 같이

    결합에 필요한 열 정보이다.

  • TB2 - 열 a2, b2, c3.
  • TB3 - 컬럼 a3.
  • TB4 - 컬럼 a4.

    선택 :

TB1, TB2, TB3ID TB1의 ID에 의해 관련된 것은

내가

코드 SQL Server Management Studio를 사용하고있는 기본 키 및 TB2, TB3의 외래 키와 TB4입니다 ID from TB1, TB2, TB3 여기서 TB1.ID = TB2.TB1.ID

+4

어떤 RDBMS를 사용하고 있습니까? 지금까지 뭐 해봤 어? – Bridge

+1

내 의견으로는이 질문은별로 의미가 없으며 불충분 한 정보를 제공합니다. 코드를 수정하려고 시도 했습니까? – mikeY

+2

"중복 정보"란 무엇입니까? TB4와의 관계는 무엇입니까? "ID"는 일부 테이블에서 외래 키 여야합니다 ...? –

답변

2

이처럼 연결할 수 있습니다 (당신이 말을 놓친 관계를 넣어하는 것을 잊지 마세요) :

SELECT t1.a1, t1.b2, t2.a2, t2.b2, t2.c3, t3.a3, t4.a4 
FROM db1..TB1 t1 
INNER JOIN db1..TB2 t2 ON t1.ID = t2.ID 
INNER JOIN db1..TB3 t3 ON t1.ID = t3.ID 
INNER JOIN db2..TB4 t4 ON --put relation here 

는 또한 각 테이블이 존재하는 데이터베이스의 이름으로 db1db2를 교체하십시오.


모든 제한을 두지 않았기 때문에 코드에 중복 정보가 표시됩니다. 그래서, 데카르트 곱이 생성됩니다.

+1

초 안에 시도해보십시오. –

관련 문제