Выберите количество (*) из нескольких таблиц - PullRequest
195 голосов
/ 03 марта 2009

Как мне выбрать count(*) из двух разных таблиц (назовите их tab1 и tab2), в результате чего:

Count_1   Count_2
123       456

Я пробовал это:

select count(*) Count_1 from schema.tab1 union all select count(*) Count_2 from schema.tab2

Но все, что у меня есть, это:

Count_1
123
456

Ответы [ 18 ]

3 голосов
/ 03 июня 2017
    select 
    t1.Count_1,t2.Count_2
    from 
(SELECT count(1) as Count_1 FROM tab1) as t1, 
(SELECT count(1) as Count_2 FROM tab2) as t2
3 голосов
/ 03 марта 2009

Пришел быстрый удар:

Select (select count(*) from Table1) as Count1, (select count(*) from Table2) as Count2

Примечание: я проверял это в SQL Server, поэтому From Dual не требуется (отсюда и расхождение).

1 голос
/ 28 апреля 2017
--============= FIRST WAY (Shows as Multiple Row) ===============
SELECT 'tblProducts' [TableName], COUNT(P.Id) [RowCount] FROM tblProducts P
UNION ALL
SELECT 'tblProductSales' [TableName], COUNT(S.Id) [RowCount] FROM tblProductSales S


--============== SECOND WAY (Shows in a Single Row) =============
SELECT  
(SELECT COUNT(Id) FROM   tblProducts) AS ProductCount,
(SELECT COUNT(Id) FROM   tblProductSales) AS SalesCount
1 голос
/ 03 августа 2016
Declare @all int
SET @all = (select COUNT(*) from tab1) + (select count(*) from tab2)
Print @all

или

SELECT (select COUNT(*) from tab1) + (select count(*) from tab2)
1 голос
/ 03 марта 2009

Если таблицы (или, по крайней мере, ключевой столбец) одного типа, сначала создайте объединение, а затем подсчитайте.

select count(*) 
  from (select tab1key as key from schema.tab1 
        union all 
        select tab2key as key from schema.tab2
       )

Или возьмите свой напиток и положите вокруг него еще одну сумму (*).

select sum(amount) from
(
select count(*) amount from schema.tab1 union all select count(*) amount from schema.tab2
)
0 голосов
/ 24 мая 2017

выберите (выберите количество () на вкладке 1, где field как «значение») + (выберите количество () на вкладке 2, где field как «значение») подсчитывать

0 голосов
/ 16 августа 2015

ПРИСОЕДИНЯЙТЕСЬ к разным таблицам

SELECT COUNT(*) FROM (  
SELECT DISTINCT table_a.ID  FROM table_a JOIN table_c ON table_a.ID  = table_c.ID   );
0 голосов
/ 24 июня 2011
select @count = sum(data) from
(
select count(*)  as data from #tempregion
union 
select count(*)  as data from #tempmetro
union
select count(*)  as data from #tempcity
union
select count(*)  as data from #tempzips
) a
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...