Объединение нескольких запросов оракула для получения одного результата - PullRequest
5 голосов
/ 05 мая 2011

Можно ли выполнить следующий запрос как один запрос?

[код]

select count(*) from tableA;
select count(*) from tableB;
select count(*) from tableC;
select count(*) from tableD;

[/ код]

т. результат будет примерно таким

|TablA|TableB|TableC|TableD|
|50   |300   |30    |9|

Спасибо

Ответы [ 4 ]

11 голосов
/ 05 мая 2011
select * from
(select count(*) from tableA),
(select count(*) from tableB),
(select count(*) from tableC),
(select count(*) from tableD);
2 голосов
/ 05 мая 2011

Да

select count(*) from tableA;
union all
select count(*) from tableB;
union all
select count(*) from tableC;
union all
select count(*) from tableD; 
0 голосов
/ 20 ноября 2014

попробуйте это: содин как (выберите count (1) как counterA, 1 как фиктивный из таблицы A), два как (выберите count (1) как counterB, 1 как фиктивный из tableB), три как (выберите count (1) как counterC, 1 как фиктивныйиз таблицы C), четыре как (выберите count (1) в качестве counterD, 1 в качестве пустышки из таблицы D)

выберите one.counterA, two.counterB, three.counterC, four.counterD из одного, двух, трех,четыре, где one.dummy = two.dummy и two.dummy = three.dummy и three.dummy = four.dummy;

0 голосов
/ 05 мая 2011

Следующие должны работать с любой СУБД.

SELECT *
FROM   (select count(*) as tableA from tableA) a
       full outer join (select count(*) as tableB from tableB) b
       full outer join (select count(*) as tableC from tableC) c
       full outer join (select count(*) as tableD from tableD) d
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...