Il y a deux tables SQL:un à plusieurs requêtes sélection de tous les parents et les enfants haut unique pour chaque parent
Parents:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+
Childs
+--+------+-------+
|id|parent|feature|
+--+------+-------+
| 1| 1 | 123 |
| 2| 1 | 35 |
| 3| 2 | 15 |
+--+------+-------+
Je veux sélectionner avec seule requête chaque ligne de la table des parents et pour chaque une seule rangée de la table Childs avec la valeur "parent" - "id" et la plus grande valeur de la colonne "feature". Dans cet exemple résultat devrait être:
+----+------+----+--------+---------+
|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 = table parent et c = table enfant
moi avons essayé de LEFT OUTER JOIN et GROUP BY mais MSSQL express m'a dit que requête avec GROUP BY nécessitent des fonctions d'agrégation sur tous les champs non-Groupped. Et je ne veux pas les regrouper tous, mais plutôt sélectionner la rangée supérieure (avec commande personnalisée).
Je suis tout à fait d'idées ...
Cela ne retournera pas seulement le premier enfant à chaque fois –
Merci. Fixe, maintenant ça va. – manji
Ça marche! Formidable! – PiotrK