SQL-запрос с несколькими столбцами с разными условиями

#sql #sql-server

#sql #sql-server

Вопрос:

Как мне создать запрос, который запрашивает 1 таблицу и хочет вернуть несколько предложений, но имеет разные условия для каждого столбца. Мне также нужно предложение group by в конце. Что-то вроде приведенного ниже, где моя скобка — psuedocode:

 Select date, sum(revenue) [where source = X], sum (revenue [where source = Y]
from table1 
group by date
 

Возможно ли это или мне просто нужно выполнять разные запросы

Ответ №1:

Используйте условную агрегацию:

 select date,
       sum(case when source = 'X' then revenue end) as x_revenue,
       sum(case when source = 'Y' then revenue end) as y_revenue
from t
group by date;