查询MySQL父亲和儿子

时间:2015-03-20 21:06:28

标签: mysql

我有一张桌子只有结构示例中有3个级别:

1他的儿子是2和2有一个儿子是4和6
3是父亲和他的儿子是5 和1有另一个儿子是7
4没有儿子因为是结构规则。

我的桌子就是这样:

  

| Id_Father | | Id_Son |
   1 2
    2 4
   3 5
   2 6
   1 7

只有我想让我的查询每个父亲都有一个儿子,这是我的查询的一部分:

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。

1 个答案:

答案 0 :(得分:0)

试试这个:

select id_father
from Estructura
group by id_father
having count(distinct id_son) = 1