Re[6]: Объединение запросов
От: avpavlov  
Дата: 25.02.11 09:53
Оценка: 3 (1)
N>Да, у пользователя есть всегда определённая первичная группа, но на разных серверах он может иметь различный набор вторичных групп. Первый запрос возвращает gid первичной группы и перечисление через запятую вторичных. Второй запрос для gid пользователя возвращает её имя. Во втором запросе я ошибся(переделывал его из первого), группировать надо по полю su.id.


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