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

MySQL формулы (оптимизация формулы) РЕШЕНО

Добавлено: 18 июл 2021, 11:48
Max0n
Добрый день!
Коллеги нужна ваша помощь в оптимизации MySQL формулы:

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

IFNULL((select SUM(field_564) from app_entity_48 where field_568=e.id and app_entity_48.field_583=117 and app_entity_48.field_582='true')+
(select sum(field_579) as total from app_entity_49 where parent_item_id in (select id from app_entity_48 where field_568=e.id and field_583=117 and field_582='true')),0)
Есть сущность Заказы(48) и в ней подсущность задачи (49) все расходы по данным родительской сущности и подсущности суммируются и передаются в клиента.
field_564 - сумма в родительской сущности Заказы;
field_568 - Клиент в Заказах;
field_583=117, field_582='true' выпадающий списки в Заказах используется для фильтрации;
field_579 - сумма в подсущности Задачи.

Проблема: Формула по некоторым клиентам не считает при сложении (если разбить формулу на две части Заказы и Задачи, то производит корректный расчет).

Re: MySQL формулы (оптимизация формулы)

Добавлено: 19 июл 2021, 09:53
support
IFNULL нужно использовать для обоих запросов:

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

IFNULL((select...),0)+IFNULL(select...,0)

Re: MySQL формулы (оптимизация формулы)

Добавлено: 19 июл 2021, 11:02
Max0n
support писал(а): 19 июл 2021, 09:53 IFNULL нужно использовать для обоих запросов:

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

IFNULL((select...),0)+IFNULL(select...,0)
Спасибо, все отлично