Страница 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
Ссылка на демо

https://rukovoditel.cloud/demo/3.5/inde ... mo_id=3185
логин - Марина Л
пароль - гость

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 по которому пытаемся получить сумму тоже содержит формулу

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

{9}*[504]/8
Возможно это баг?
Завел дополнительное поле в сущности Задачи - ИДф тест - числовое значение, и при вводе данных туда запрос первый работает.

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

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 (Нагрузка) - поле с формулой

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

[703]/[700]
Приводит к тому же результату (отображаемое поле пустое).

Re: Условие по msq запросу, для сгрупированных пользователей

Добавлено: 13 апр 2024, 07:56
support
Нет, это не баг, функцию нужно будет продублировать в запросе. она автоматом не подтягивается в запрос.