繁体   English   中英

SQL Server-有关UNION和USE函数的语法

[英]SQL Server - Syntax around UNION and USE functions

我希望查询的同一台服务器上有一系列数据库。 我正在使用相同的代码来查询数据库,并希望结果显示在单个列表中。

我正在使用“ USE”指定要查询的数据库,然后创建一些临时表来对数据进行分组,然后使用最终的SELECT语句将数据库中的所有数据汇总在一起。

然后,我使用UNION,然后对下一个数据库使用第二个USE命令,依此类推。

SQL Server在单词'UNION'上显示语法错误,但未提供任何有关问题根源的帮助。

我有可能想念一个角色吗? 目前,我不在任何地方使用(或)。

USE语句只是重定向您的会话以连接到同一实例上的另一个数据库,实际上,您无需在数据库之间切换(这有一些罕见的例外)。

使用3部分表示法加入您的结果集。 您可以在连接到任何数据库时执行此操作。

SELECT
    SomeColumn = T.SomeColumn
FROM
    FirstDatabase.Schema.TableName AS T
UNION ALL
SELECT
    SomeColumn = T.SomeColumn
FROM
    SecondDatabase.Schema.YetAnotherTable AS T

该引擎将自动检查每个数据库上您的登录用户,并验证您对基础表或视图的权限。

UNION将结果集加在一起,除了UNION之间的SELECT之外,您不能发出其他操作(例如USE )。

您应该在表名称之前使用数据库名称:

SELECT valueFromBase1
 FROM `database1`.`table1`
  WHERE ...
UNION
SELECT valueFromBase2
 FROM `database2`.`table2`
  WHERE ...

暂无
暂无

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

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