Обьединение 2 таблиц + 1 с параметрами

IvanShumkov

Новичок
Обьединение 2 таблиц + 1 с параметрами

Есть три таблицы:

users_groups (группы)
* id
* name = Название группы
* disabled = Отключение группы
* deleted = Удалена ли группа (что-то вроде корзины виндоус)

users_user_in_group (узер в группе)
* user_id = ид юзера
* group_id = ид группы

users_group_in_group (группа в группе)
* in_group_id = в какой группе
* group_id = группа

Надо зная ID пользователя выбрать все группы в которых он состоит и группы в которых входят его группы. С условием того, что группа может быть отключена или удалена.

Пробовал вот такой sql:
[sql]
SELECT uig.`group_id` AS group1, gig.`in_group_id` AS group2
FROM `users_user_in_group` AS uig LEFT JOIN `users_group_in_group` AS gig ON (uig.`group_id` = gig.`group_id`)
LEFT JOIN `users_groups` AS ug ON (gig.`group_id` = ug.`id`)
WHERE uig.`user_id` = 1 AND ug.`disabled` = 0 AND ug.`deleted` = 0
[/sql]

Но есть минусы:
* он выбирает в два столбца
* повторяющиеся значения
* если группа отключена, почему-то ошибка
* не проверяет disabled группы в которые входят группы юзеров

Подскажите верный sql
 
Сверху