запрос «один ко многим», выбирающий всех родителей и одного старшего ребенка для каждого родителя

Есть две таблицы SQL:

Parents:
+--+---------+
|id|   text  |
+--+---------+
| 1|  Blah   |
| 2|  Blah2  |
| 3|  Blah3  |
+--+---------+

Childs
+--+------+-------+
|id|parent|feature|
+--+------+-------+
| 1|   1  |  123  |
| 2|   1  |   35  |
| 3|   2  |   15  |
+--+------+-------+

Я хочу выбрать одним запросом каждую строку из таблицы Parents и для каждой отдельной строки из таблицы Childs с отношением «родитель» - значение «id» и наибольшим значением столбца «feature». В этом примере результат должен быть:

+----+------+----+--------+---------+
|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  |
+----+------+----+--------+---------+

Где p = родительская таблица и c = дочерняя таблица

Я пытался УДАЛИТЬ ВНЕШНЕЕ СОЕДИНЕНИЕ и ГРУППА BY, но MSSQL Express сказал мне, что для запроса с GROUP BY требуются функции Aggregate для всех не сгруппированных полей. И я не хочу группировать их все, а выбрать верхний ряд (с пользовательским порядком).

У меня совершенно нет идей ...

Ответы на вопрос(5)

Ваш ответ на вопрос