2014-11-21 38 views
0

我有数据库名为Db1,我有一个名为table1的表内。SQL Server:在我的数据库中的另一个数据库上使用另一个表

我想这个表和DB2另一台名为之间的连接Table2

请帮我

+0

使用'链接Server' – 2014-11-21 20:07:10

+1

链接服务器是另一台服务器,我想这个问题是在同一台服务器 – 2014-11-21 20:08:51

+0

这个头衔似乎没有这个问题在所有匹配。 – 2014-11-21 20:09:22

回答

1

您可以使用此查询:如果你想使用

Select * from Table2 inner Join DB1.dbo.Table1 on table2.fkey=DB1.dbo.Table1.key 

这很多时候,
您可以使用在DB2中创建视图

CREATE VIEW [dbo].[vDB1_Table1] 
AS 
SELECT  * FROM   DB1.dbo.Table1 

GO 

然后使用vDB1_Table1作为访问表1。

另一种方法是使用SYNONYM

CREATE SYNONYM [dbo].[syn_db1_table1] FOR [DB1].[dbo].[Table1] 
GO 

另外,还可以在表的synonyms节中的对象资源管理器中management studio创建的同义词右键单击,然后单击new synonym... Create Synonym

现在DB2使用此查询

Select * from Table2 inner Join vDB1_Table1 on table2.fkey=vDB1_Table1.key 

Select * from Table2 inner Join [syn_db1_table1] on table2.fkey=[syn_db1_table1].key 
0
select * 
from 
db1.dbo.table1 t1 
    inner join 
db2.dbo.table2 t2 
    on t1.col1 = t2.col1 
相关问题