J'ai une table qui a l'ID, le nom, le niveau (la profondeur) et le parrent_id, est-il un bon moyen de supprimer tous les nœuds sans enfants? (Sur un seul niveau suffit)? Je sais que je peux le faire dans l'application - charger tous les nœuds sur un niveau donné et vérifier s'ils ont des enfants, sinon supprimer, mais ce serait probablement plus efficace en SQL et je ne suis pas gourou SQL :)Comment supprimer tous les parrents sans enfants dans SQL?
1
A
Répondre
3
Vous pouvez essayer
SELECT DISTINCT tParent.*
FROM Table tParent LEFT JOIN
Table tChild ON tParent.ID = tChild.ParentID
WHERE tChild.ID IS NOT NULL
serait encore mieux d'essayer
SELECT *
FROM Table t
WHERE NOT EXISTS(SELECT 1 FROM Table WHERE ParentID = t.ID)
2
SELECT * FROM mytable where id in (SELECT parent_id from mytable)
Cela devrait faire le travail
Questions connexes
- 1. Sql Obtenir tous les enfants d'un parent
- 2. Récupérer tous les enfants et leurs enfants, SQL
- 3. Comment supprimer tous les éléments enfants en utilisant linq to sql?
- 4. jquery supprimer tous les éléments enfants et laisser du texte
- 5. Sélectionnez l'enregistrement parent avec tous les enfants dans SQL
- 6. Strip tous les tags tbody sans détruire leurs enfants
- 7. tous les enfants sélecteur dans jquery?
- 8. Comment supprimer efficacement tous les x enfants de l'entité parent sauf les derniers en utilisant NHibernate?
- 9. Comment créer XElement avec l'espace de nommage par défaut pour les enfants sans utiliser XNamespace dans tous les nœuds enfants
- 10. Comment puis-je supprimer le texte d'un nœud sans supprimer les nœuds enfants?
- 11. Comment supprimer tous les sujets dans ActiveMQ?
- 12. Comment accéder à tous les enfants d'un DisplayObject par programme?
- 13. Comment supprimer le contrôle parent sans supprimer ses enfants dans asp.net C#?
- 14. Comment interroger récursivement tous les contrôles enfants d'un Winform?
- 15. Supprimer les éléments enfants récursive dans Sitecore CMS.NET
- 16. désinscription/supprimer tous les nœuds enfants d'une balise div dans le dojo
- 17. Supprimer tous les enregistrements existent dans toutes les tables
- 18. Récupérer tous les enfants de parents []
- 19. Cocher ou décocher tous les enfants TreeViewItem
- 20. Supprimer tous les enregistrements dans NSManagedObjectContext
- 21. Comment supprimer tous les travaux de l'imprimante
- 22. Sélection de tous les objets enfants dans LINQ
- 23. PHP fonction récursive pour supprimer tous les nœuds enfants les causes Stackoverflow
- 24. Comment supprimer tous les caractères d'une chaîne
- 25. comment supprimer le dossier dans la console dos sans liste tous les contenus supprimés?
- 26. Trouver tous les formulaires enfants dans le cadre compact C#
- 27. jQuery: comment remplacer le contenu sans affecter les enfants
- 28. Comment accéder à tous les enfants d'un PreferenceScreen?
- 29. C# usercontrol comment accéder à tous les contrôles enfants
- 30. Supprimer tous les espaces dans QGridLayout
La question est de supprimer ceux qui n'ont pas d'enfants – anthares
OK, désolé, je vois ce que vous meen. Devrait changer à * N'EST PAS NULL * –
Exactement, je me suis trompé la première fois, aussi :) – anthares