Запрос MySQL - как подсчитать записи по условию для родительской сущности
Добавлено: 06 фев 2020, 17:29
Добрый день!
Может кто подскажет, как составить правильно запрос в поле Запрос MySQL, по следующим параметрам.
Дано: сущности
Локации (ID 22)
- Работа (вложенная, ID 27)
Сотрудники (отдельная, ID 31)
В сущн. Локации есть поле Сотрудник (ID 371) с типом Сущность, выводится из сущн. Сотрудники.
В сущности Работа есть поле Статус (ID 295). "выборочное" значение у него "выполнено" с ID 20.
Нужно:
Вывести в записи Сотрудника (в поле сущности Сотрудники) подсчитанное количество записей по сущности Работа (ID 27) со "статусом - Выполнено" (ID 20), при этом учитывая "подключенного" сотрудника в сущности Локации.
Т.е. если бы Сотрудники напрямую подключались в сущность Работа, то было бы проще. Но тут подключение идет в "родительскую" сущность. Т.е. сначала нужно "отобрать" нужные "Локации" по текущему сотруднику, а потом посчитать все записи подсущности Работа (со статусом Выполнено) в этих отобранных локациях и вывести в поле сущности Сотрудники.
В опцию Выбрать из сущности я ставлю сущность Работа (т.к. ее записи будем подсчитывать)
В опцию Выбрать поле я ставлю функцию COUNT(*)
А в условие - затрудняюсь... как правильно составить, чтобы учитывалось поле с типом сущность в родительской сущности??
http://prntscr.com/qyh7l0
Подскажет кто-то решение?
Может кто подскажет, как составить правильно запрос в поле Запрос MySQL, по следующим параметрам.
Дано: сущности
Локации (ID 22)
- Работа (вложенная, ID 27)
Сотрудники (отдельная, ID 31)
В сущн. Локации есть поле Сотрудник (ID 371) с типом Сущность, выводится из сущн. Сотрудники.
В сущности Работа есть поле Статус (ID 295). "выборочное" значение у него "выполнено" с ID 20.
Нужно:
Вывести в записи Сотрудника (в поле сущности Сотрудники) подсчитанное количество записей по сущности Работа (ID 27) со "статусом - Выполнено" (ID 20), при этом учитывая "подключенного" сотрудника в сущности Локации.
Т.е. если бы Сотрудники напрямую подключались в сущность Работа, то было бы проще. Но тут подключение идет в "родительскую" сущность. Т.е. сначала нужно "отобрать" нужные "Локации" по текущему сотруднику, а потом посчитать все записи подсущности Работа (со статусом Выполнено) в этих отобранных локациях и вывести в поле сущности Сотрудники.
В опцию Выбрать из сущности я ставлю сущность Работа (т.к. ее записи будем подсчитывать)
В опцию Выбрать поле я ставлю функцию COUNT(*)
А в условие - затрудняюсь... как правильно составить, чтобы учитывалось поле с типом сущность в родительской сущности??
http://prntscr.com/qyh7l0
Подскажет кто-то решение?