Здравствуйте, avpavlov, Вы писали:
N>>Да, у пользователя есть всегда определённая первичная группа, но на разных серверах он может иметь различный набор вторичных групп. Первый запрос возвращает gid первичной группы и перечисление через запятую вторичных. Второй запрос для gid пользователя возвращает её имя. Во втором запросе я ошибся(переделывал его из первого), группировать надо по полю su.id.
A>A>SELECT
A> u.id, u.a, u.b
A> , (select name from Table3 pg on u.gid=pg.gid) primary_group_name
A> ,GROUP_CONCAT(g.name) AS secondary_group_names
A>FROM
A> Table2 u
A> left join Table1 su on su.id=u.id
A> left join Table3 g on su.g_id=g.g_id
A>WHERE
A> su.name='SOMENAME'
A>group by
A> u.id
A> ,u.a -- вот это МайСКЛ позволяет не делать, но я рекомендую тебе не пользоваться такими хаками
A> ,u.b -- вот это МайСКЛ позволяет не делать, но я рекомендую тебе не пользоваться такими хаками
A>ORDER BY
A> u.id
A>
Спасибо, разобрался у себя и переделал.