kwerenda jeden-do-wielu wybierająca wszystkich rodziców i jedno najwyższe dziecko każdego rodzica

Istnieją dwie tabele SQL:

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

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

Chcę wybrać jednym zapytaniem każdy wiersz z tabeli Rodzice i dla każdego pojedynczego wiersza z tabeli Childs z relacją „rodzic” - wartość „id” i największą wartość kolumny „cecha”. W tym przykładzie wynik powinien być:

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

Gdzie p = tabela nadrzędna c = tabela podrzędna

Próbowałem LEFT OUTER JOIN i GROUP BY, ale MSSQL Express powiedział mi, że zapytanie z GROUP BY wymaga funkcji agregacji na wszystkich polach nie zgrupowanych. I nie chcę grupować ich wszystkich, ale raczej wybrać górny wiersz (z niestandardowym zamówieniem).

Nie mam pomysłów ...

questionAnswers(5)

yourAnswerToTheQuestion