Поле MySQL запрос по сущности со множественным выбором
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Поле MySQL запрос по сущности со множественным выбором
Добрый день!
Есть структура:
Клиенты
- Договора
Реклама
В Клиентах через поле MySQL запрос подсчитывается количество Договоров (через прямой запрос ко вложенной сущности) - в поле Количество Договоров на текущую дату. Все считает нормально.
В Клиенты подключена сущность Реклама через поле Сущность со множественным выбором. Я хочу вывести количество Договоров в зависимости от "подключенной" Рекламы к Клиентам. Т.е. через запрос в сущности Реклама подсчитать сумму по полю Количество Договоров на текущую дату (из сущности Клиенты)
Сейчас запрос так выглядит:
http://prntscr.com/syrg6t
В конфигурации сущности Клиенты:
http://prntscr.com/syriwy
Получается я вывел запрос (сумма значений) по полю, которое также имеет тип "запрос".
Ну и какой результат должен быть. Я вывел на странице записи сущности Реклама табличный список по связанному полю Клиенты
http://prntscr.com/syrjru - но почему-то не считает... Как правильно построить условие в запросе? (Если это конечно не связано с тем, что выборка идет по полю с множественным выбором, или тем, что у меня получается "запрос из запроса")
Есть структура:
Клиенты
- Договора
Реклама
В Клиентах через поле MySQL запрос подсчитывается количество Договоров (через прямой запрос ко вложенной сущности) - в поле Количество Договоров на текущую дату. Все считает нормально.
В Клиенты подключена сущность Реклама через поле Сущность со множественным выбором. Я хочу вывести количество Договоров в зависимости от "подключенной" Рекламы к Клиентам. Т.е. через запрос в сущности Реклама подсчитать сумму по полю Количество Договоров на текущую дату (из сущности Клиенты)
Сейчас запрос так выглядит:
http://prntscr.com/syrg6t
В конфигурации сущности Клиенты:
http://prntscr.com/syriwy
Получается я вывел запрос (сумма значений) по полю, которое также имеет тип "запрос".
Ну и какой результат должен быть. Я вывел на странице записи сущности Реклама табличный список по связанному полю Клиенты
http://prntscr.com/syrjru - но почему-то не считает... Как правильно построить условие в запросе? (Если это конечно не связано с тем, что выборка идет по полю с множественным выбором, или тем, что у меня получается "запрос из запроса")
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Поле MySQL запрос по сущности со множественным выбором
Используйте find_in_set viewtopic.php?p=15213#p15213
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Поле MySQL запрос по сущности со множественным выбором
Пробовал и это выражение, но все равно не считает ... http://prntscr.com/syxc6w
Как правильно построить? Мне ж нужно в списке значений (поле 417) выбрать/сравнить с текущим id, правильно. И при совпадении должно просуммировать такие найденные записи.
Я уже экспериментировал как только можно)
find_in_set(id,[417])
find_in_set(e.id,[417])=e.id
find_in_set(id,[417])=e.id
find_in_set(id,[417])=id
find_in_set(e.id,[417])>0
find_in_set(id,[417])>0
Все равно результат 0 выдает... Что не так ставлю. Вроде по синтаксису правильно должно быть https://oracleplsql.ru/mysql-function-find_in_set.html - тут смотрел)
Как правильно построить? Мне ж нужно в списке значений (поле 417) выбрать/сравнить с текущим id, правильно. И при совпадении должно просуммировать такие найденные записи.
Я уже экспериментировал как только можно)
find_in_set(id,[417])
find_in_set(e.id,[417])=e.id
find_in_set(id,[417])=e.id
find_in_set(id,[417])=id
find_in_set(e.id,[417])>0
find_in_set(id,[417])>0
Все равно результат 0 выдает... Что не так ставлю. Вроде по синтаксису правильно должно быть https://oracleplsql.ru/mysql-function-find_in_set.html - тут смотрел)
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Поле MySQL запрос по сущности со множественным выбором
Достаточно
Но мне кажется вы что то не то делаете
Код: Выделить всё
find_in_set(e.id,[417])Тут нужно строит запрос к сущности ДоговораЯ хочу вывести количество Договоров
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Поле MySQL запрос по сущности со множественным выбором
Да, может я не то строю и нужно делать прямой запрос к сущности Договора. Она является подчиненной сущностью к Клиенты. А в Клиентах есть поле Сущность, где подключается Реклама.
Вот в Рекламе нужно выводить подсчет Договоров, которые созданы в Клиентах ну и соответствовали значению той самой Рекламы в Клиентах. Как создать запрос в сущности Реклама к сущности Договора? Подскажете?
http://prntscr.com/sz22rj - это структура. Я так понимаю, нужно строить подзапрос к сущности Договора, в нем через COUNT (*) считать кол-во созданных записей в Договорах?
И сразу второй вопрос, нужно по тем же Договорам подсчитать суммы из некоторых полей MySQL (в договорах).
Т.е. в первом случае нужно строить http://prntscr.com/sz25ih
а если нужно сумму по полю, то так как-то? http://prntscr.com/sz275b
Вот в Рекламе нужно выводить подсчет Договоров, которые созданы в Клиентах ну и соответствовали значению той самой Рекламы в Клиентах. Как создать запрос в сущности Реклама к сущности Договора? Подскажете?
http://prntscr.com/sz22rj - это структура. Я так понимаю, нужно строить подзапрос к сущности Договора, в нем через COUNT (*) считать кол-во созданных записей в Договорах?
И сразу второй вопрос, нужно по тем же Договорам подсчитать суммы из некоторых полей MySQL (в договорах).
Т.е. в первом случае нужно строить http://prntscr.com/sz25ih
а если нужно сумму по полю, то так как-то? http://prntscr.com/sz275b
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Поле MySQL запрос по сущности со множественным выбором
Да, тут вы на правильном пути.Т.е. в первом случае нужно строить
Код: Выделить всё
SUM(select count(*) from app_entity_29 e29 where e29.parent_item_id=e.id)а если нужно сумму по полю, то так как-то?
Код: Выделить всё
SUM(select SUM([347]) from app_entity_29 e29 where e29.parent_item_id=e.id)- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Поле MySQL запрос по сущности со множественным выбором
что-то не получается... Нужно же в поле MySQL запрос это делать или в поле MySQL формула? а в условии что ставить?
http://prntscr.com/szg3mi
В опции Выбрать поле я поставил
в опции Условие
Получилась ошибка
http://prntscr.com/szg3mi
В опции Выбрать поле я поставил
Код: Выделить всё
SUM(select count(*) from app_entity_29 e29 where e29.parent_item_id=e.id)Код: Выделить всё
find_in_set(e.id,[417])Код: Выделить всё
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 'select count(*) from app_entity_29 e29 where e29.parent_item_id=e.id) from app_e' at line 1
Query: select e.* , (IFNULL( (select SUM(func100.field_749+0) from app_entity_45 func100 where func100.id>0 and func100.parent_item_id=e.id ) ,0)) as field_751,IFNULL((select SUM(select count(*) from app_entity_29 e29 where e29.parent_item_id=e.id) from app_entity_27 msq where find_in_set(e.id,msq.field_417) limit 1),0) as field_755 from app_entity_36 e where e.id>0 order by e.field_335 desc limit 0, 20
Page: /crm/index.php?module=items/listing- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Поле MySQL запрос по сущности со множественным выбором
в поле MySQL запрос
Re: Поле MySQL запрос по сущности со множественным выбором
Чем закончилась эта эпопея с ошибкой вылетающей?
Пытаюсь нечто похожее, аналогично вылетает в error
Пытаюсь нечто похожее, аналогично вылетает в error
- alcompstudio
- Спонсор

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