J'ai une simple relation un-à-plusieurs. Je voudrais sélectionner des lignes du parent seulement lorsqu'elles ont au moins un enfant. Donc, s'il n'y a pas d'enfants, la ligne parente n'est pas retournée dans le jeu de résultats.Comment sélectionner la ligne parente seulement si elle a au moins un enfant?
Par exemple.
Parent:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+
Children
+--+------+-------+
|id|parent| other |
+--+------+-------+
| 1| 1 | blah |
| 2| 1 | blah2 |
| 3| 2 | blah3 |
+--+------+-------+
Je veux que les résultats soient:
+----+------+
|p.id|p.text|
+----+------+
| 1 | Blah |
| 2 | Blah2|
+----+------+
Je ne l'ai pas testé mais je devine que c'est plus lent que d'une jointure. – Hogan
@Hogan - Le existe l'approche la plus rapide. L'optimiseur fera le même plan d'exécution pour une jointure externe vérifiée nulle ... qui sera ** comme ** rapide, mais l'existant n'est jamais plus lent. –
Neat. Merci @Nick. Cela est vrai pour mysql, ms sql et oracle? – Hogan