从同一台服务器上的两个不同数据库加入查询?

时间:2013-10-15 20:44:48

标签: sql sql-server

我在同一台服务器上有两个DB。我有两个简单的选择查询为每个DB正常工作。但是,当它们组合成一个连接时,它们会失败。我想解决这个问题。

伪代码 -

select *
from (select columns from DB1) as D1
inner join 
select *
from (select columns from DB2 where some valid condition) as D2
on D1.column1 = D2.column1

错误 -

Incorrect syntax near the keyword 'SELECT'. (ie second "outer" select)
Incorrect syntax near the keyword 'on'.

2 个答案:

答案 0 :(得分:1)

Jeez - 我所要做的就是这个 -

select *
from (select columns from DB1) as D1
inner join 
--select *
--from 
(select columns from DB2 where some valid condition) as D2
on D1.column1 = D2.column1

参见注释行。删除它们,它应该工作。

注意,要包括从D2中选择的列,请将D2列放在最上面的select语句中。

select col1b, col2c
from (select col1a, col1b from DB1) as D1
inner join 
--select *
--from 
(select col2a, col2b, col2c from DB2 where some valid condition) as D2
on D1.col1a = D2.col2a

这将显示col1b和col2c。

答案 1 :(得分:0)

select *
from DataBaseName.ShemaName.TableName1 D1 inner join  DataBaseName.ShemaName.TableName2 D2
on D1.column1 = D2.column1
WHERE Somecondition