2015-03-20 2 views
0

У меня есть таблица только у меня есть 3 уровня в примере структуры:запросов в MySQL Отец и сын

1 его сын 2 и 2 имеют сына в 4 и 6
3 является отец и его сын 5
и 1 имеют другого сына 7
4 не имеет сына, потому что это правило структуры.

хорошо мой стол это:

| Id_Father |       | Id_Son |
                                                                                         

Только я хочу bringme с моим запросом каждый отец, чтобы один сын, это часть моего запроса:

SELECT R.* FROM getName R where not EXISTS (SELECT 1 from Estructura R2 where R.id = R2.Id_Son) And Exists (SELECT 1 from Estructura R2 where R.id = R2.Id_Father and not exists (SELECT 1 from Estructura R3 where R2.Id_Son = R3.Id_Father)) 

и я получаю это с моим запросом:

1 и 3, но я хочу получить только 3.

ответ

0

попробовать это один:

select id_father 
from Estructura 
group by id_father 
having count(distinct id_son) = 1 
Смежные вопросы