如何查询2个SQL数据库并比较结果

时间:2015-04-01 11:41:48

标签: sql sql-server sql-server-2008

我有2个单独的SQL Server数据库,我想查询并比较结果。

例如:

DB1

Select * 
from Customers 
where dtcreated > @startdate

此查询将为我提供在特定日期之后创建的客户列表。

我希望得到上面的结果,并查询另一个数据库(DB2),告诉我上述哪些查询客户仍处于活动状态。

类似的东西:

DB2

Select * 
From Customers
Where bactive = 'True'
      (and exists in DB1 query)

有办法做到这一点吗?

输出:

Number of Records from DB1            Number Active in DB2
        155                                   67

2 个答案:

答案 0 :(得分:1)

您可以通过指定databasename和schema +表名来执行跨数据库查询。

Select * 
From Customers b
Where bactive = 'True'
and exists
(Select 'x' from 
database1.dbo.Customers A
where a.dtcreated > @startdate
and a.key = b.key)

对不起,我对示例查询和示例输出感到有点困惑。但是使用这种技术你可以按照自己喜欢的方式计算

答案 1 :(得分:0)

你可以试试这个:

Select * 
From db2.dbo.Customers
Where bactive = 'True'
and exists(Select * from db1.dbo.Customers where dtcreated > @startdate)