Есть таблица Departments с полями
id — ключевое поле
name — название
id_parent — ссылка на id этой же таблицы
visibility — видимость департамента.
Нужно получить все департаменты, у которых visibility = 1, причем в выборку не должны попадать и те записи, у ротелей которых (на любом уровне) visibility <> 1.
пример:
id name id_parent visibility
1 A null 0
2 B 1 1
3 C 2 1
4 D null 1
Запрос должен вернуть
id name id_parent visibility
4 D null 1
не смортя на то, что у B и С visibility = 1;