Joignez-vous à la table avec une sous-requête qui compte le nombre de lignes pour le parent, et sélectionnez uniquement celles avec le nombre souhaité.
SELECT DISTINCT a.level1 AS Parent, a.level2 AS Child
FROM yourTable AS a
JOIN (SELECT level1, COUNT(DISTINCT level2) AS children
FROM yourTable
GROUP BY level1) AS b
ON a.level1 = b.level1
WHERE children = :child
Remplacez :child
avec le nombre d'enfants que vous essayez de faire correspondre.
Utilisation de COUNT(Column2)
au lieu de COUNT(*)
ignorera les lignes où Column2
est NULL
, il n'inclura donc pas A100
.