Суммы SQL с предложениями Where - PullRequest
1 голос
/ 12 июня 2019

У меня есть таблица «часов», в которой я пытаюсь создать SQL-запрос для суммирования некоторых сумм в зависимости от пары переменных.

В моей таблице есть ЧАСЫ, Местоположение, Пользователь, Деятельность. (со многими другими полями)

Я хочу, чтобы Суммы

Сумма (Часы) AS TotalHours, Сумма (Часы, где Location = Place1) AS OffisteHours, Сумма (Часы, где Location = Place2) Как OnsiteHours Сгруппируйте его по активности, затем по пользователю.

У меня нет проблем с группой, просто есть проблемы с получением сумм.

результат, который я ищу, будет примерно таким.

NAME               OFFISTEHOURS      ONSITEHOURS      TOTAL HOURS
JohnSmith            23                   17                40
HarryBolz            11                   33                44
LacyWeir             12                   23                45

У меня нет проблем с созданием запроса с помощью SUM, я просто продолжаю сталкиваться с кирпичными стенами, добавляя второй SUM с предложением.

Любые указатели в правильном направлении будут полезны! Спасибо!

1 Ответ

1 голос
/ 12 июня 2019

Вы можете попробовать использовать условную агрегацию. В MSACCESS вы можете использовать IFF для условной агрегации

 select User
    , Sum(Hours)
    , sum(IIF(Location ='Place1' , Hours, 0)) OFFISTEHOURS      
    , sum(IIF(Location ='Place2' , Hours, 0)) ONSITEHOURS      
from m_table  
group by  User
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...