consulta um-para-muitos selecionando todos os pais e filho único superior para cada pai
Existem duas tabelas SQL:
Parents:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+
Childs
+--+------+-------+
|id|parent|feature|
+--+------+-------+
| 1| 1 | 123 |
| 2| 1 | 35 |
| 3| 2 | 15 |
+--+------+-------+
Eu quero selecionar com consulta única cada linha da tabela pais e para cada linha única da tabela Childs com relação "pai" - "id" valor eo maior valor de coluna "recurso". Neste exemplo, o resultado deve 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 |
+----+------+----+--------+---------+
Onde p = tabela pai e c = tabela infantil
Eu tentei LEFT OUTER JOIN e GROUP BY, mas o MSSQL Express me disse que a consulta com GROUP BY requeria funções Aggregate em todos os campos não agrupados. E eu não quero Agrupá-los todos, mas sim selecionar linha superior (com ordenação personalizada).
Eu estou totalmente sem ideias ...