DE
Size: a a a
DE
ОП
IZ
IZ
IZ
s
IZ
IZ
SELECT u.* -- ...
, case when gp1.group_id is not null then 'ADMIN' else null end as is_admin
, case when gp2.group_id is not null then 'MODER' else null end as is_moder
FROM tbl_groups g
JOIN tbl_users_groups_relations gc on gc.group_id = g.id
JOIN tbl_user u on u.id = gc.user_id
LEFT JOIN ( tbl_users_groups_permissions gp1 join roles gp1r on gp1r.id = gp1.role_id and gp1r.name = 'ADMIN' ) on gp1. group_id = g.id and gp1.user_id = u.id
LEFT JOIN ( tbl_users_groups_permissions gp2 join roles gp2r on gp2r. id = gp2.role_id and gp2r.name = 'MODER' ) on gp2. group_id = g.id and gp2.user_id = u.id
WHERE g.name = ?
ORDER BY
case when gp1.group_id is not null then 1 else 0 end, case when gp2.group_id is not null then 1 else 0 end, -- ...
C
IZ