Страница 2 из 2
Re: Условие по msq запросу, для сгрупированных пользователей
Добавлено: 10 апр 2024, 10:30
support
Марина, скриншот можно прикрепить во вложениях.
Персональная демо создается в личном кабинете
https://www.rukovoditel.net.ru/demo.php
Сделайте резервную копию базы данных (экспорт приложения) и восстановите ее в демо версии.
А сюда пришлите ссылку на демо.
Re: Условие по msq запросу, для сгрупированных пользователей
Добавлено: 10 апр 2024, 11:11
remchik
INNER JOIN - смотрите мануал по mysql
ну и как Сергей написал - вложенные запросы.
Связь как раз по пользователю.
Re: Условие по msq запросу, для сгрупированных пользователей
Добавлено: 10 апр 2024, 16:38
Pskargo@ya.ru
Постараюсь максимально описать суть желаемого.
У нас есть понятие _ ИД – это условный день работы инженера.
Внутри сущности ПАКЕТ (имеется ввиду, пакет работ), есть три параллельные сущности:
- ОТДЕЛ. Это как мы планируем выполнить пакет. В этой сущности мы выбираем ОТДЕЛ, который займется ПАКЕТОМ работ (может быть один отдел, может быть несколько), ставим временной период на его выполнение, и запланированное количество ИД
- РАЗДЕЛ. Сейчас не рассматриваем.
- ЗАДАЧИ. Это фактически поставленные мелкие ЗАДАЧИ, которые ставятся на одного ПОЛЬЗОВАТЕЛЯ (инженера, сгруппирован в свою очередь в какой-то отдел)
Тут наверное может возникнуть путаница с отделами. Так есть сущность 68 ОТДЕЛЫ и 64 ОТДЕЛ. 68 ОТДЕЛЫ это сущность внутри которой заведены пользователи, а сущность 64 ОТДЕЛ, находится внутри пакета, это планы на кокой либо из отделов. В этой сущности как заголовок мы выбираем сущность 68 ОТДЕЛЫ.
Цель
Увидеть в одном месте, сколько было запланировано потратить ИД конкретному отделу внутри ПАКЕТА, и сколько фактически было потрачено дней ИДф инженерами, сидящими в этом отделе. Поэтому необходимо из ЗАДАЧИ взять сумму ИДф и положить ее в 64 ОТДЕЛ, с условием, что задача принадлежит к этому пакету и назначена на пользователя из этого отдела.
Для примера в самой сущности ПАКЕТ я смогла собрать и планируемы ИД и ИДф. Так как это родительская сущность, у меня получилось собрать нужную информацию из вложенных сущностей в родительскую стандартным функционалам. А вот собрать когда сущности параллельны не получается. В Итоге общая аналитика у меня прекрасно работает, а вот по конкретным отделам выяснить кто лажает, не могу.
Re: Условие по msq запросу, для сгрупированных пользователей
Добавлено: 11 апр 2024, 10:01
Pskargo@ya.ru
Re: Условие по msq запросу, для сгрупированных пользователей
Добавлено: 12 апр 2024, 22:51
spanditime
Написал такой запрос:
Код: Выделить всё
select
sum(task.field_330)
from app_entity_41 task
where task.field_326
in (
select user.id from app_entity_1 user where user.parent_item_id = e.field_698
)
Однако поле выводит 0.0 если убрать агрегатную ф-цию(и добавить limit 1 например или указать id определенной задачи) поле становится пустым! (хотя должно содержать значение ИДф этой задачи).
Пример:
Код: Выделить всё
select
task.field_330
from app_entity_41 task
where task.id = <id какой нибудь существующей задачи> limit 1
Поле 330 по которому пытаемся получить сумму тоже содержит формулу
Возможно это баг?
Завел дополнительное поле в сущности Задачи - ИДф тест - числовое значение, и при вводе данных туда запрос первый работает.
Код: Выделить всё
select
sum(task.field_<id поля которое является просто числовым значением>)
from app_entity_41 task
where task.field_326
in (
select user.id from app_entity_1 user where user.parent_item_id = e.field_698
)
Экспериментальным путем выяснено что обращение к любому полю вида "SQL формула" в sql запросе приводит к такому поведению.
т.е даже такой простой запрос как
Код: Выделить всё
select
field_751
from app_entity_64 where id = e.id
где field_751 (Нагрузка) - поле с формулой
Приводит к тому же результату (отображаемое поле пустое).
Re: Условие по msq запросу, для сгрупированных пользователей
Добавлено: 13 апр 2024, 07:56
support
Нет, это не баг, функцию нужно будет продублировать в запросе. она автоматом не подтягивается в запрос.