在同一台服务器上加入两个数据库

时间:2018-01-29 05:40:17

标签: sql-server database

enter image description here我最近遇到了一些奇怪的问题,当我尝试编写一个查询来加入位于同一服务器上两个不同数据库的两个不同的表时,我得到一个错误。

对于EX:如果我单独选择数据库A,则会显示数据,我必须从左上角的可用数据库下拉列表中手动选择数据库。

如果我选择数据库B,那么我应该在可用数据库下拉列表上手动将其更改回数据库B,由于此问题,我无法将两个表连接在一起。请帮我设置正确的设置。

2 个答案:

答案 0 :(得分:2)

您可以通过在表名之前添加数据库名称来使用。

Select * from Database1.[dbo].Table1 t1
join Database2.[dbo].Table2 t2 on t1.columnName = t2.columnName

从您的查询中获取来自DatabaseA的T1和来自DatabaseB的剩余

select distinct [Material_Number] from DatabaseA.[dbo].[view_sku_universe_from_sku_data_quality] T1 
    left join DatabaseB.[dbo].[table_Mat_Deter_SWM] T2 on T1.[Material_Number]=T2.[Sub_Material_1] 
    left join DatabaseB.[dbo].[table_Mat_Deter_SWM] T3 on T1.[Material_Number]=T3.[Sub_Material_2]
    where T2.[Sub_Material_1] is not null or T3.[Sub_Material_2] is not null

答案 1 :(得分:1)

1.创建有权访问两个数据库的用户

2.从您创建的用户(有权访问这两个数据库的用户)登录到SSMS。

3.像这样创建查询

SELECT * FROM TestDatabase1。[dbo] .Test1 t1

在t1.TestID = t2.TestID

上加入TestDatabase2。[dbo] .Test2 t2