我有28个具有相同表的国家/地区特定数据库,希望从所有数据库中的特定表中选择值

时间:2016-06-09 08:05:16

标签: sql-server

我有许多具有相同表的国家/地区特定数据库,希望从所有数据库的特定表中选择值。

如何在这种情况下实现加入?

SELECT column1, column2 FROM db1.table1 
SELECT column1, column2 FROM db2.table1 

2 个答案:

答案 0 :(得分:0)

您可以使用UNION:

SELECT column1, column 2 FROM db1.table1 
UNION
SELECT column1, column 2 FROM db2.table1
UNION
SELECT column1, column 2 FROM db3.table1

...

答案 1 :(得分:0)

尝试UNION ALL运算符;

SELECT column1, column2 FROM Database1Name.SchemaName.table1 
UNION ALL
SELECT column1, column2 FROM Database2Name.SchemaName.table1
UNION ALL
SELECT column1, column2 FROM Database3Name.SchemaName.table1

如果您打算从不同的地方拨打电话,那么将其粘贴到视图中然后只需在FROM声明中调用该视图就可以了;

CREATE VIEW [dbo].[VW_Table1_Total_Results]
AS
    SELECT column1, column2 FROM Database1Name.SchemaName.table1 
    UNION ALL
    SELECT column1, column2 FROM Database2Name.SchemaName.table1
    UNION ALL
    SELECT column1, column2 FROM Database3Name.SchemaName.table1

然后,您可以执行此选择,如果您正在对任何其他表进行连接或对结果进行任何进一步计算,则会更容易阅读;

SELECT
Column1
,Column2
FROM VW_Table1_Total_Results