SQL Distinct не работает

Не получается получить уникальные результаты, вместо этого получаю 9 идентичных копий одного юзера:

select DISTINCT "users".*, "permissions"."slug", "roles"."name"
from "users"
    left join "role_user" on "users"."id" = "role_user"."user_id"
    left join "roles" on "roles"."id" = "role_user"."role_id"
    left join "permission_role" on "roles"."id" = "permission_role"."role_id"
    left join "permissions" on "permissions"."id" = "permission_role"."permission_id"
    left join "email_user" on "users"."id" = "email_user"."user_id"
    left join "emails" on "emails"."id" = "email_user"."email_id"
where exists (select * from "roles"
    inner join "role_user" on "roles"."id" = "role_user"."role_id"
    where "users"."id" = "role_user"."user_id" and (LOWER(roles.name) = 'administrator'))
and "users"."deleted_at" is null
group by "users"."id", "permissions"."slug", "roles"."name"
order by roles.name ASC
limit 20 offset 0;

Всю голову уже сломал, где может быть ошибка?


Ответы (0 шт):