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

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Запрос MySQL - как подсчитать записи по условию для родительской сущности
Нужно делать под-запрос, который будет обращаться к родительской сщуность, примерно так:
Код: Выделить всё
[295]=20 and parent_item_id in (select l.id from app_entity_22 l where l.field_371=e.id)- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Запрос MySQL - как подсчитать записи по условию для родительской сущности
Сергей, спасибо за подсказку, а что обозначает "l.id", в частности символ "l" ?
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Запрос MySQL - как подсчитать записи по условию для родительской сущности
В запросе мы пишем "app_entity_22 l" и "l.id" означает что мы берем id из таблицы app_entity_22
l можно заменить на любой другой символ или название.
l можно заменить на любой другой символ или название.
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Запрос MySQL - как подсчитать записи по условию для родительской сущности
понял, спасибо за разъяснение, попробую реализовать.