如果序列号在每个数据库的主表上,那么您可以使用完全限定名称将表连接在一起:
创建视图 vWhatever
作为
SELECT(无论你想选择什么)
FROM [Database A].[schema - 通常是 dbo].DSNA_tblMaiin AS
JOIN [数据库 B].[dbo].DSNB_tblMaiin AS b ON a.Serialnumber = b.SerialNumber
JOIN [数据库 C].[dbo].DSNC_tblMaiin AS c ON a.SerialNumber = c.SerialNumber
WHERE(无论您想过滤什么)
去
如果资产在其中一个表中,但不是全部三个(并且您不知道是哪一个),您可以在视图中使用 UNION 来完成它 - 它实际上会将所有三个表放在一起,附加字段你指定(相同的数据类型),直到你有一个大的“虚拟表”前:
创建视图 vWhatever
作为
选择 col1、col2、序列号等。
FROM [数据库 A].[dbo].DSNA_tblMaiin
联合所有
选择 col1、col2、序列号等。
FROM [数据库 B].[dbo].DSNB_tblMaiin
联合所有
选择 col1、col2、序列号等。
FROM [数据库 C].[dbo].DSNC_tblMaiin
去
点符号正是您正在查看的内容。如果您将查询扩展到另一台服务器,它将只是 [ServerName].[DatabaseName].[ObjectSchema].[ObjectName] 而不是 [DatabaseName].[ObjectSchema].[ObjectName]