Как рассчитать столбцы на основе других кодов столбцов в улье - PullRequest
0 голосов
/ 23 января 2019

enter image description here

У нас есть таблица продаж с различной суммой продажи и кодом продажи.Я хочу рассчитать общую сумму продажи на основе другого кода.

Формула: Общая продажа = code1 -code2 + code3 -code 4.

Как получить результат с помощью запроса улья?

1 Ответ

0 голосов
/ 23 января 2019

Это можно сделать с помощью условного агрегирования (при условии, что на код приходится по одной строке на код).

select id 
      ,coalesce(max(case when code = 'code1' then cast(amount as int) end), 0) -
       coalesce(max(case when code = 'code2' then cast(amount as int) end), 0) +
       coalesce(max(case when code = 'code3' then cast(amount as int) end), 0) -
       coalesce(max(case when code = 'code4' then cast(amount as int) end), 0) 
from tbl
group by id
...