我有一张桌子只有结构示例中有3个级别:
1他的儿子是2和2有一个儿子是4和6我的桌子就是这样:
| 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。
答案 0 :(得分:0)
试试这个:
select id_father
from Estructura
group by id_father
having count(distinct id_son) = 1