我有一个SQL Server 2014数据库。我正在构建一个存储过程,它将返回符合某些条件的几个表的计数。这时,我有以下内容:
SELECT 'Table1' TableName, COUNT(0) TotalRows FROM dbo.[SomeTable]
UNION ALL
SELECT COUNT(DISTINCT [Name]) AS 'Department' FROM [Department]
UNION ALL
SELECT COUNT(DISTINCT [SubDepartment]) AS 'SubDepartment' FROM [Department]
UNION ALL
SELECT 'Table2' TableName, COUNT(0) TotalRows FROM dbo.[AnotherTable]
执行此SQL时,出现错误消息:
使用UNION,INTERSECT或EXCEPT运算符组合的所有查询在其目标列表中必须具有相同数量的表达式。
如果我删除以SELECT COUNT(...
开头的两行,它就可以了。但是,我需要获取部门名称的数量和子部门名称的数量。如何在从其他表中获取计数的同时执行此操作?
谢谢!