如何比较来自 2 个不同数据表的 2 个表的列?

时间:2021-02-17 17:23:24

标签: sql

我需要比较来自两个不同数据库的两个不同表的列。有没有办法做到这一点?我基本上需要检查这两个表中的列是否相同或不同。我想并排列出这两个表的列。

  • 表 1:abc.table1
  • 表 2:xyz.table2

1 个答案:

答案 0 :(得分:0)

我认为您可以通过为 SQL Server 使用“INFORMATION_SCHEMA.COLUMNS”来简单地做到这一点。
在(SQL SERVER)中查找相同的列

           string input = "aa c6 61 ab 25 d8 d2 b4 c4 9c e2 d4 5a 00 00 00 00 ff ff";
            byte[] bytes = input.Split(new char[] { ' ' }).Select(x => byte.Parse(x, System.Globalization.NumberStyles.HexNumber)).ToArray();
            MemoryStream ms = new MemoryStream(bytes);
            ms.Position = 0;
            System.IO.Compression.DeflateStream gzip = new System.IO.Compression.DeflateStream(ms, System.IO.Compression.CompressionMode.Decompress);
            List<byte> uncompressed = new List<byte>();
            int bytesRead = 0;
            do
            {
                byte[] chunk = new byte[1000];
                bytesRead = gzip.Read(chunk, 0, 1000);
                uncompressed.AddRange(chunk.ToList().GetRange(0,bytesRead));
            } while (bytesRead == 1000);

查找不常见列

SELECT T1.* FROM 
(SELECT COLUMN_NAME
FROM [DatabaseName1].INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Table1'
) T1
INNER JOIN
(SELECT COLUMN_NAME
FROM [DatabaseName2].INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Table2'
) T2 ON T1.COLUMN_NAME=T2.COLUMN_NAME

注意:这仅适用于 SQL Server。

相关问题