我正在尝试运行一个SQL Server导出,它会比较一个SQL Server示例上的三个或更多数据库中列出的表名(实际上这个数字要高得多!)
我可以使用如下所示的简单内容来获取特定数据库中所有表的列表。
SELECT [name]
FROM DB1.sys.tables
我希望能够做的是能够连接这些为多个数据库,以创建一个单一的视图,以发现差异(和相似之处)。
例如,如果我有三个数据库,其中包含以下表
DB1:
Customers
Orders
Products
DB2.
Products
Orders
DB3:
Products
Suppliers
我如何才能将它们结合在一起来获得类似以下的东西?
DB1|DB2|DB3
-|-|
Customers|空|空
Orders|Orders|空
产品|产品|产品
空|空|供应商
谢谢!
2条答案
按热度按时间ecbunoof1#
使用公共表表达式获取信息架构表中的表名,并使用完全外连接来实现此目的。
omhiaaxx2#
这个脚本应该会提供您正在寻找的内容,并且可以通过修改第20行周围的WHERE子句轻松地进行扩展