Помогите пожалуйста с MySQL запросами
Добавлено: 05 мар 2020, 20:46
Есть структура
Маршруты ID-40
— Туры. ID-26
Связаны как родитель-сын и также через поле типа "сущность", которое называется "Маршрут" [307]
В Турах есть поле прибыль [282]
Хочется получить поле Прибыль в сущности Маршруты, чтобы считалась сумма прибыли по всем вложенным турам.
Создаю поле MySQL запрос.
Выбрать из сущности: — Туры
Выбрать поле: SUM([282])
Условие: [307]=e.id или пробовал еще parent_item_id=e.id
В обоих случая получаю ошибку:
Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10}>0,{10},0))-(if ({11}>0,{11},0))) from app_entity_26 msq where msq.field_307=' at line 1
Query: select e.* , ( (select (func100.field_393) from app_entity_39 func100 where func100.id>0 and func100.id=e.parent_item_id limit 1) ) as field_394,IFNULL((select ((if ({10}>0,{10},0))-(if ({11}>0,{11},0))) from app_entity_26 msq where msq.field_307=e.id limit 1),0) as field_646 from app_entity_40 e where id='52'
Page: /index.php?module=items/info&path=39-15/40-52
Или может быть я вообще велосипед придумываю и это можно как-то проще сделать?
Маршруты ID-40
— Туры. ID-26
Связаны как родитель-сын и также через поле типа "сущность", которое называется "Маршрут" [307]
В Турах есть поле прибыль [282]
Хочется получить поле Прибыль в сущности Маршруты, чтобы считалась сумма прибыли по всем вложенным турам.
Создаю поле MySQL запрос.
Выбрать из сущности: — Туры
Выбрать поле: SUM([282])
Условие: [307]=e.id или пробовал еще parent_item_id=e.id
В обоих случая получаю ошибку:
Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10}>0,{10},0))-(if ({11}>0,{11},0))) from app_entity_26 msq where msq.field_307=' at line 1
Query: select e.* , ( (select (func100.field_393) from app_entity_39 func100 where func100.id>0 and func100.id=e.parent_item_id limit 1) ) as field_394,IFNULL((select ((if ({10}>0,{10},0))-(if ({11}>0,{11},0))) from app_entity_26 msq where msq.field_307=e.id limit 1),0) as field_646 from app_entity_40 e where id='52'
Page: /index.php?module=items/info&path=39-15/40-52
Или может быть я вообще велосипед придумываю и это можно как-то проще сделать?