2016-08-16 4 views
-1

У меня есть два запроса, и я хочу суммировать их результаты по одному запросу, но объединение все не работает.Суммируйте два поля из разных таблиц, когда результаты представляют собой сумму и умножение в одном запросе

Я использую этот запрос:

select sum(a.value1) from myTable a 

и я получаю: 10, то я использую этот запрос

select b.value2*b.value3 from myTable b 

и я получаю: 10, я хочу подвести их и получить 20, так Я использую объединение:

select sum(a.value1) from myTable a 
union all 
select b.value2*b.value3 from myTable b 

Но запрос возвращает

10 
10 

Как я могу их суммировать, чтобы получить 20?

ответ

0

Вы можете сделать это:

select ((select sum(a.value1) from myTable a) + 
     (select b.value2*b.value3 from myTable b) 
     ) as sum 
0

Надеется, что это помогает !! выбора (сумма (a.value1) + (выберите сумму (b.value2 * b.value3) из MyTable б)) в качестве теста из MyTable

0

Я finnaly мог с помощью этого запроса:

select a.value4 + b.value5 
    from (select sum(a.value1) value4 from myTable) a, 
     (select b.value2 * b.value3 value5 from myTable) b 
Смежные вопросы