>

2 개의 데이터베이스에 걸쳐있는 동적 쿼리를 만들어야합니다.

Db1 : Table1

Db2 : 표 2

먼저 db1의 table1에서 하드 코딩 된 ID를 기반으로 일부 항목을 선택합니다.

Select * 
from Db1.Table1 
where Id = 123

Table1   CityId 라는 열이 있습니다  그것은 Db2.Table2 의 일부입니다 . 따라서 Db2.Table2 에 새 항목을 삽입 할 때 CityId  ID 열입니다.

이제 다음과 같은 것이 필요합니다 :

use Db1
go
select * 
from Db1.Table1 
where Id = 123
use Db2
go
select * 
from Db2.Table2 
where CityId in (select CityID 
                 from Db1.Table1 
                 where Id = 123)   // how can I solve this cross db query?


  • 답변 # 1

    정확하게 이해하면 다음 세 부분으로 만 명명하면됩니다.

    select t2.*
    from Db2..Table2 t2
    where t2.CityId in (select t1.CityID from Db1..Table1 t1 where t1.Id = 123)
    
    

    기본 스키마 이름은 일반적으로 dbo 입니다. 보다 명확하게 표현할 수 있습니다 :

    select t2.*
    from Db2.dbo.Table2 t2
    where t2.CityId in (select t1.CityID from Db1.dbo.Table1 t1 where t1.Id = 123)
    
    

  • 이전 javascript - 버튼이있는 DataTable, 목록에 요소 추가
  • 다음 java - 메타 데이터에서 Nova 서버 가져 오기