Страница 1 из 1

MySql запрос к подчинённой сущности

Добавлено: 08 июн 2020, 17:49
Степан
Нужно вытащить сумму по полю[1] из починенной сущности Б
Поле [1] сущности Б - MySQL Формула

Код: Выделить всё

SUM([1])
условие: parent_item_id = e.id
Не работает.

MySql запрос не тянет значение MySQL Формула?

Хорошо.
вместо [1] - можно вставить явную MySQL Формулу из этого поля...
Но там условия по параметрам, которые также являются MySQL формулами и MySQL запросами ...
Что самое интересное, SUM([1]) со связанными сущностями работает, а с подчиненной - нет.

Re: MySql запрос к подчинённой сущности

Добавлено: 08 июн 2020, 19:37
Степан
В общем, решил, но кривовато..

Пришлось нагородить кучу итоговых техполей в родительской сущности
и условия применять уже к ним..

Re: MySql запрос к подчинённой сущности

Добавлено: 08 июн 2020, 20:14
imamverdiyeveldar
Степан писал(а): 08 июн 2020, 17:49 Нужно вытащить сумму по полю[1] из починенной сущности Б
Поле [1] сущности Б - MySQL Формула

Код: Выделить всё

SUM([1])
условие: parent_item_id = e.id
Не работает.

MySql запрос не тянет значение MySQL Формула?

Хорошо.
вместо [1] - можно вставить явную MySQL Формулу из этого поля...
Но там условия по параметрам, которые также являются MySQL формулами и MySQL запросами ...
Что самое интересное, SUM([1]) со связанными сущностями работает, а с подчиненной - нет.
Пробовали поставить галочку "выполнить динамически"?

Re: MySql запрос к подчинённой сущности

Добавлено: 08 июн 2020, 21:40
Степан
Та шо я только не пробовал..)
и с одной стороны, и с другой..

Re: MySql запрос к подчинённой сущности

Добавлено: 08 июн 2020, 22:18
imamverdiyeveldar
Дело в том что у меня прекрасно получается то что вы описали)

Re: MySql запрос к подчинённой сущности

Добавлено: 08 июн 2020, 22:35
sanys
Степан писал(а): 08 июн 2020, 17:49 Нужно вытащить сумму по полю[1] из починенной сущности Б
Т.е. у Вас есть сущность А и подчиненная ей сущность Б и получается вот такая стуркура?
А
-Б

Тогда вот здесь проясните, пожалуйста:
Степан писал(а): 08 июн 2020, 17:49 Поле [1] сущности Б - MySQL Формула

Код: Выделить всё

SUM([1])
условие: parent_item_id = e.id
Я правильно понимаю, что Поле [1] принадлежит сущности Б?
И Вам надо просуммировать дочерние записи по этому полю и сумму записать в некоторое поле Сумма, которое принадлежит сущности А?

Re: MySql запрос к подчинённой сущности

Добавлено: 08 июн 2020, 23:45
Степан
Да, все верно

И это работает, если поле [1] простое число
А формулу не тянет.

И если две сущности просто связаны (А к многим Б), то работает и с формулами.

Но структуру пришлось оптимизировать
Сущность Б зашла в подчинение А и "лавочка закрылась"))

Re: MySql запрос к подчинённой сущности

Добавлено: 09 июн 2020, 00:34
sanys
Вот здесь посмотрите. Там же примерное объяснение почему так.
Если вкратце, то MySQL-запрос должен получать статичные данные из базы и поэтому не совсем понятно работает с динамичным данными (MySQL-функция). Точно не работает, если в выбираемом поле используются функции из Дополнения.
Да, есть флаг "Выполнять динамически", но его установка значит лишь то, что данные именного этого поля будут обновляться динамически, а не только при сохранении записи.
Если важно использовать именно запрос (используются хитрые условия, например), то выход один - переходить на статичные данные в выбираемом Поле [1] и дальше работать с ним.

Если условия выборки не хитрые или не требуются вовсе, то в Вашем случае можно для сущности А добавить поле Сумма - MySQL-функция. В Функциях дополнения добавить функцию SUM() для сущности Б. Использовать эту функцию для Суммы сущности А.

Re: MySql запрос к подчинённой сущности

Добавлено: 09 июн 2020, 21:56
Степан
Саша, спасибо.
Я вопрос решил (писал выше)
Просто хотел понять, это у меня что-то с руками, или реально все так запутано)))