如何在SQL Server中从父数据库访问表的数据

如何在SQL Server中从父数据库访问表的数据,sql,sql-server,database,sql-server-2008,Sql,Sql Server,Database,Sql Server 2008,我在一个公司数据库中的dbo数据库中有一个名为UserTable的表 我知道如果我在公司数据库中编写查询,我需要通过[dbo].[UserTable]访问用户表,但现在我在dbo数据库中,这样我就可以直接访问用户表。。但是现在我在公司数据库中有一个名为UserNameTable的表 有没有一种方法可以访问UserNameTable而不使用像[parent].UserNameTable]这样的“use CompanyDatabase”…这样会更方便 如果我需要说得更清楚,请告诉我 提前谢谢你…如果

我在一个
公司
数据库中的dbo数据库中有一个名为
UserTable
的表

我知道如果我在
公司
数据库中编写查询,我需要通过
[dbo].[UserTable]
访问
用户表
,但现在我在dbo数据库中,这样我就可以直接访问
用户表
。。但是现在我在
公司
数据库中有一个名为
UserNameTable
的表

有没有一种方法可以访问
UserNameTable
而不使用像
[parent].UserNameTable]这样的“use CompanyDatabase”…
这样会更方便

如果我需要说得更清楚,请告诉我


提前谢谢你…

如果我理解了你的问题,答案是

只需将[dbo].[parent].[table]等别名用作“mytab”,或者如果您经常从相同的多个表中获取相同的数据,请尝试创建一个视图,例如创建视图作为(sql选择查询)。该视图充当逻辑表

比如像这样试一下,

select
    LocalTable.*, tmp.*
from
    LocalTable,
    [OtherServerName].[OtherDB].[dbo].[OtherTable] as 'tmp'

这肯定行。

如果我理解你的问题,答案是

只需将[dbo].[parent].[table]等别名用作“mytab”,或者如果您经常从相同的多个表中获取相同的数据,请尝试创建一个视图,例如创建视图作为(sql选择查询)。该视图充当逻辑表

比如像这样试一下,

select
    LocalTable.*, tmp.*
from
    LocalTable,
    [OtherServerName].[OtherDB].[dbo].[OtherTable] as 'tmp'

这肯定会起作用。

您可以使用
[databasename].[schema].[TableName]
直接从查询语法访问数据库

您不必使用

Use MyDatabase
Go
你可以用

select * from MyDatabase.dbo.MyUserTable

通过使用
[databasename].[schema].[TableName]

您不必使用

Use MyDatabase
Go
你可以用

select * from MyDatabase.dbo.MyUserTable

创建与另一个数据库的连接并使用连接引用。是的。。那肯定行。。但是仅仅使用别名是不可能的吗?创建与另一个数据库的连接并使用连接引用。是的。。那肯定行。。但是仅仅使用别名是不可能的吗?是的,这就是问题所在。。我试过这个。。这本应该奏效的。。但事实并非如此。。我还尝试了[master].[dbo].[UserNameTable]是的,这就是问题所在。。我试过这个。。这本应该奏效的。。但事实并非如此。。我也试过了[master].[dbo].[UserNameTable]谢谢。。这很有效。。遗憾的是,sql中没有访问父数据库的捷径或别名。。似乎唯一的方法是使用包括服务器名称在内的整个路径进行访问。。再次感谢……)谢谢你,伙计。。这很有效。。遗憾的是,sql中没有访问父数据库的捷径或别名。。似乎唯一的方法是使用包括服务器名称在内的整个路径进行访问。。再次感谢……)