如何将多个SQL查询相加?

use*_*923 10 sql sql-server

我正在尝试在多个表上运行多个查询 - 类似于"从TableA中选择count(*),其中x = 1"每个表.

我想做的是获取返回的所有count(*)值并将它们加总为单个值...

有任何想法吗?

dav*_*vek 14

select sum(individual_counts) from
(
  select count(*) as individual_counts from TableA where x = 1
    union all
  select count(*) from TableB where x = 2
....
) as temp_table_name
Run Code Online (Sandbox Code Playgroud)

在使用联合时,通常只需要第一个选择的别名.


And*_*son 8

不是100%肯定你的意思,但也许:

SELECT (SELECT COUNT(*) FROM tableA)+(SELECT COUNT(*) FROM tableB)
Run Code Online (Sandbox Code Playgroud)