[sql] group by - having

ozam Messages postés 3 Statut Membre -  
tiralia Messages postés 1901 Statut Membre -
Bonjour,
J'ai un problème dont je n'arrive pas à trouver la solution et je viens vous demander un peu d'aide.

J'ai une liste de famille:

famille
-----------
idFamille
Nom

et des enfants (ainsi que leur taille en cm)
enfant
----------
idEnfant
idFamille
prenom
taille

Je voudrais récupérer la liste de l'enfant le plus grand dans chaque famille.

Avec group by et having, je n'y arrive pas.

Pouvez-vous m'aider ?
Merci.

6 réponses

  1. tiralia Messages postés 1901 Statut Membre 268
     
    et en comparant tes variable? si x>y alors tel action...
    0
  2. ozam Messages postés 3 Statut Membre
     
    Je n'ai pas compris, peut tu préciser tiralia ?
    0
  3. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    SELECT Nom, prénom, MAX(taille)
    FROM famille, enfant
    WHERE famille.IdFamille = enfant.idFamille
    GROUP BY Nom, prénom;
    0
  4. tiralia Messages postés 1901 Statut Membre 268
     
    fait des conditions pour comparer tes variables.
    Va chercher dans ta base de donnée les info, stock les dans des variables, compare les entre elle ( if tailleA > tailleB then ..... else ..... ) enfin je ne sais pas avec quel langage tu travailles, mais tous fonctionnent plus ou moins pareil.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ozam Messages postés 3 Statut Membre
     
    @chossette: désolée, mais cette requette, même si elle te retourne 1 enfant par famille et la taille maxi, ne te retourne pas l'enfant le plus grand pour chaque famille.

    @tiralia: Tu veut dire récupérer toutes les données de la base et faire ensuite le tri en php (ou autre language) ?
    0
  7. tiralia Messages postés 1901 Statut Membre 268
     
    ben oui, ça me parait logique, mais comme je ne sais pas de quel langage nous parlons, je ne peux que donner des réponses génériques...
    0