Re[7]: Объединение запросов
От: Nameless  
Дата: 28.02.11 11:10
Оценка:
Здравствуйте, 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>


Спасибо, разобрался у себя и переделал.
--
Alexander
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.