Ho una semplice relazione uno-a-molti. Vorrei selezionare le righe dal genitore solo quando hanno almeno un figlio. Quindi, se non ci sono figli, la riga genitore non viene restituita nel set di risultati.Come selezionare la riga padre solo se ha almeno un figlio?
Es.
Parent:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+
Children
+--+------+-------+
|id|parent| other |
+--+------+-------+
| 1| 1 | blah |
| 2| 1 | blah2 |
| 3| 2 | blah3 |
+--+------+-------+
Voglio che i risultati siano:
+----+------+
|p.id|p.text|
+----+------+
| 1 | Blah |
| 2 | Blah2|
+----+------+
non ho ancora testato, ma sto cercando di indovinare questo è più lento di un join. – Hogan
@Hogan - Esiste l'approccio più veloce. L'ottimizzatore farà lo stesso piano di esecuzione per un join esterno controllato con null ... che sarà ** come ** veloce, ma l'esistente non è mai più lento. –
Neat. Grazie @ Nick. Questo è vero per mysql, ms sql e oracle? – Hogan