Tengo una relación sencilla de uno a muchos. Me gustaría seleccionar filas del padre solo cuando tienen al menos un hijo. Entonces, si no hay hijos, entonces la fila principal no se devuelve en el conjunto de resultados.¿Cómo seleccionar la fila padre solo si tiene al menos un hijo?
Por ejemplo.
Parent:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+
Children
+--+------+-------+
|id|parent| other |
+--+------+-------+
| 1| 1 | blah |
| 2| 1 | blah2 |
| 3| 2 | blah3 |
+--+------+-------+
Quiero que los resultados sean:
+----+------+
|p.id|p.text|
+----+------+
| 1 | Blah |
| 2 | Blah2|
+----+------+
no he probado pero supongo que esto es más lento que una combinación. – Hogan
@Hogan: existe el enfoque más rápido. El optimizador hará el mismo plan de ejecución para una unión externa marcada nula ... que será ** como ** rápida, pero la existencia nunca es más lenta. –
aseado. Gracias @Nick. Esto es cierto para mysql, ms sql y oráculo? – Hogan