我需要进行跨两个数据库的动态查询。
Db1: Table1
Db2: Table2
首先,我将从table1 in db1中选择一些基于硬编码ID的项。
Select *
from Db1.Table1
where Id = 123
Table1
有一个名为CityId
的列,它是Db2.Table2
的一部分。因此,当在Db2.Table2
中插入新项时,CityId
是一个标识列。
现在我需要这样的东西:
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?
发布于 2018-04-15 15:05:15
如果我正确理解,您只需使用三部分命名:
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)
https://stackoverflow.com/questions/49843377
复制相似问题