Как я могу получить сумму из четырех разных таблиц в одном запросе - PullRequest
1 голос
/ 15 апреля 2010

В каждой таблице много строк с количеством. Как это у меня есть разные цифры количества в каждой таблице. Имя поля каждой таблицы отличается. Как я могу получить сумму всех значений в четырех таблицах в одном запросе? Есть ли способ?

Ответы [ 2 ]

2 голосов
/ 15 апреля 2010

Вы пробовали что-то подобное?

select sum(val) from (
    select sum(col1) as val from table1 where criteria1 = 'x'
    union all
    select sum(col2) from table2 where criteria2 = 'y'
    union all
    select sum(col3) from table3 where criteria3 = 'z'
    union all
    select sum(col4) from table4 where criteria4 = 'w'
) newTbl
0 голосов
/ 15 апреля 2010

использовать производные таблицы - вы, вероятно, хотите сделать что-то подобное, чтобы получить все результаты в одной строке!

select
  u.user_count,
  c.country_count
from
(
  select count(*) as user_count from users where username like 'f%'
) u
join
(
  select count(*) as country_count from country
) c;

более полный пример: http://pastie.org/921407

...