J'ai deux tables qui représentent les nœuds parents/enfants, leurs types et leurs relations:Interrogation une représentation db MySQL d'un arbre
Tableau 1
| nodeID | node | name | type |
| 1 | A | test | Type A |
| 2 | B | abcd | Type B |
| 3 | C | defg | Type C |
Tableau 2
| parentNodeID | childNodeID |
| 1 | 2 |
| 1 | 3 |
Je voudrais écrire une requête où je trouve des nœuds enfants de type B qui n'ont pas de parent de type C.
J'ai essayé
select node from table1 t1 left join table2 t2 on t1.nodeID=t2.childNodeID
where Type="Type B"
and t2.parentNodeID not in (select nodeID from t1 where type="Type C)
Cela ne fonctionne pas comme prévu. Est-ce que je fais cela correctement? Y a-t-il un moyen plus facile?
Ce qui concerne spécifiquement votre requête ne fonctionne pas comme prévu (je suppose que ce n'est pas la faute de frappe qui donnerait une erreur de syntaxe). Pouvez-vous donner un exemple où votre requête ne parvient pas à donner le bon résultat? –