sql сводная таблица получает сумму часов моего собственного запроса на событие и сумму события другого пользователя, которое я запросил - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть сводная таблица, скажем, event_request и event_request_user
Действия:
ДЕЙСТВИЕ 1 USER A создал запрос события для USER B, USER C и USER A(MY SELF) - скажем, 3 часа каждый.
ДЕЙСТВИЕ 2 USER B создал запрос на событие для USER A - также 3 часа

Цель - создать суммирование события для себя и для пользователей, для которых я запросил событие.
Теперь, когда я вхожу как USER A и создаю отчет, я получаю этот результат ...

|  USER    |  HOURS   | 
-----------------------
|  USER A  |  3hours  | //3hours from request that USER A(My self) created
|  USER B  |  3hours  | //3hours from request that USER A(My self) created
|  USER C  |  3hours  | //3hours from request that USER A(My self) created

Что мне нужно, так это результат ..

|  USER    |  HOURS   | 
-----------------------
|  USER A  |  6hours  | //3hours from request that USER A(My self) created + 3hours from request that USER B
|  USER B  |  3hours  | //3hours from request that USER A(My self) created
|  USER C  |  3hours  | //3hours from request that USER A(My self) created

В Мой sql запрос ... строка кода event.requested_by = @requested_by_id является причиной, по которой я получил 3hours только для USER A. И если я удалю этот код, все пользователи увидят один и тот же отчет

SELECT event.USER, sum(event_user.HOURS) from event_request as event
INNER JOIN event_request_user as event_user
on event.id = event_user.request_id
WHERE event.requested_by = @requested_by_id //in this case `USER A`'s id

Есть идеи, как этого добиться? Извините за плохой английский sh

...