Consulta de uno a varios seleccionando todos los padres y un solo hijo superior para cada padre
Hay dos tablas de SQL:
Parents:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+
Childs
+--+------+-------+
|id|parent|feature|
+--+------+-------+
| 1| 1 | 123 |
| 2| 1 | 35 |
| 3| 2 | 15 |
+--+------+-------+
Quiero seleccionar con una sola consulta cada fila de la tabla de Padres y para cada una de las filas de la tabla de Niños con la relación "padre" - valor de "id" y el valor de la columna "característica" más grande En este ejemplo el resultado debe ser:
+----+------+----+--------+---------+
|p.id|p.text|c.id|c.parent|c.feature|
+----+------+----+--------+---------+
| 1 | Blah | 1 | 1 | 123 |
| 2 | Blah2| 3 | 2 | 15 |
| 3 | Blah3|null| null | null |
+----+------+----+--------+---------+
Donde p = tabla padre y c = tabla hijo
Intenté DEJAR A UNIRSE EXTERNO y GRUPAR POR, pero MSSQL Express me dijo que la consulta con GRUPO POR requiere funciones de Agregado en todos los campos no agrupados. Y no quiero agruparlos a todos, sino seleccionar la fila superior (con orden personalizado).
Estoy totalmente sin ideas ...