繁体   English   中英

如何从不同服务器上的两个 SQL 服务器表中获取常用列名?

[英]How to get common column names from two SQL Server tables on different servers?

我在数据库 b 中有一个名为a.table的表,它位于服务器 c 上。

我在数据库 e 中有另一个名为d.table的表,它位于服务器 f 上。

IF OBJECT_ID ('Tempdb..#A') IS NOT NULL
     DROP TABLE #A

SELECT * 
INTO #A 
FROM
    (SELECT TOP 10 * 
     FROM c.b.a.table) AS V

IF OBJECT_ID ('Tempdb..#B') IS NOT NULL
    DROP TABLE #B

SELECT * 
INTO #B 
FROM
    (SELECT TOP 10 * 
     FROM f.e.d.table) AS Z

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = '#A'

INTERSECT

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = '#B'

如何编写查询以从两个表中获取公共列。 如果他们住在同一台服务器上,那将是一个不同的问题,我本可以完成的。

使用链接服务器和信息架构

SELECT
    *
FROM [LinkedServer].[DataBase].[INFORMATION_SCHEMA].[COLUMNS]
WHERE TABLE_NAME = 'TableName'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM