id_role,
                  
                  
                    title,
                  
                  
                    right_to_view,
                  
                  
                    right_ping,
                  
                  
                    right_edit,
                  
                  
                    right_admin,
                  
                  
                    ---right_creator,
                  
                  
                    
                  
                  
                    (  
                  
                  
                      SELECT
                  
                  
                        Count(warnings.id)
                  
                  
                      FROM
                  
                  
                        warnings
                  
                  
                  
                  
                  
                        JOIN members
                  
                  
                        ON warnings.id_member = members.id
                  
                  
                  
                  
                  
                        JOIN members_in_group
                  
                  
                        ON members.id = members_in_group.id_member
                  
                  
                  
                  
                  
                        JOIN groups
                  
                  
                        ON members_in_group.id_group = groups.id
                  
                  
                  
                  
                  
                        JOIN projects
                  
                  
                        ON groups.id_project = projects.id
                  
                  
                  
                  
                  
                      WHERE
                  
                  
                        projects.id = ?
                  
                  
                    ) as number_of_warning
                  
                  
                  
                  
                  
                  FROM
                  
                  
                    members
                  
                  
                  
                  
                  
                    JOIN members_in_group
                  
                  
                    ON members.id = members_in_group.id_member
                  
                  
                        
                  
                  
                    JOIN roles
                  
                  
                    ON roles.id = members_in_group.id_role
                  
                  
                  
                  
                  
                  WHERE
                  
                  
                    id_group = ?
                  
                  
                  GROUP BY members.id;
                  
                  
                  
                  
                  
                  достаю данные по пользователям группы.
                  
                  
                  с их ролями и количеством варнов,
                  
                  
                  
                  
                  
                  варны считаются по всему проекту.
                  
                  
                  
                  
                  
                  но данный запрос не работает 
                  
                  
                  так как роли у пользователя в разных группах разные.
                  
                  
                  
                  
                  
                  то есть без 
                  
                  
                  этих параметров запрос работает
                  
                  
                  
                  
                  
                  id_role,
                  
                  
                  title,
                  
                  
                  right_to_view,
                  
                  
                  right_ping,
                  
                  
                  right_edit,
                  
                  
                  right_admin,
                  
                  
                  
                  
                  
                  ERROR: ОШИБКА:  столбец "members_in_group.id_role" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции
                  
                  
                  LINE 7:  id_role,
                  
                  
                  
                  
                  
                  подскажите как исправить?
                  
                  
                
GROUP BY - сгруппировать по полю/полям а в селекте у тебя еще много полей, sql не понимает что сними делать. вариантов два: 1. добавлять поля в группировку 2. юзать агрегатные функции типа min, max, sum для неучаствующих в группировке полей
в этом и проблема - если добавить в группировку - там будет разделение из за разных ролей в разных группах. а использовать разные функции не вижу смысла. пойду поищу как объединить два запроса.
Обсуждают сегодня