IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

[Group by] avec Champs supplementaires [Toutes versions]


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Points : 8
    Points
    8
    Par défaut [Group by] avec Champs supplementaires
    Bonjour,

    Je n'arrive pas a faire une requete qui renvoie plus de 2 champs avec un group by

    Detail de ce que j'essaye de faire:

    J'ai une table personne avec les champs N°,nom,nb,divers

    N°..NOM...NB..DIVERS
    1....toto...2....8
    2....titi.....3....9
    3....tata...5....0
    4....tutu...7....2
    5....toto...1....0
    6....titi.....4....1
    7....tata...0....5
    8....tutu...0....5

    avec cette requete,

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  nom, Max(nb) AS MaxNb
    FROM personne
    GROUP BY nom;
    j'obtient:

    NOM....MAXNB
    tata....5
    titi......4
    toto....2
    tutu....7

    Et je voudrais que le champ [DIVERS] ce rapportant à la ligne soit inclus, c'est a dire:

    NOM...MAXNB..DIVERS
    tata...5..........0
    titi.....4..........1
    toto...2..........8
    tutu...7..........2

    Si vous avez une idée ?

    Merci d'avance !

  2. #2
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bojour Blamp1,

    Tu peux faire cela en 2 passages (le + simple) ou dans une requête avec un SELECT imbriqué.
    Je te propose la 1ère méthode, qui offre l’intérêt de permettre l'utilisation du mode création alors que l'autre ne permettra que l'utilisation du mode SQL)

    Crée d'abord une première requête (que j'ai nommé requête1)
    avec ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT personne.NOM, Max(personne.NB) AS MaxDeNB
    FROM personne
    GROUP BY personne.NOM;
    puis une seconde requête faisant la jointure avec ta table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT personne.NOM, personne.NB, personne.DIVERS
    FROM personne INNER JOIN Requête1 ON (personne.NB = Requête1.MaxDeNB) AND (personne.NOM = Requête1.NOM)
    ORDER BY personne.NOM;
    Attention ! Si tu as plusieurs enregistrement ayant le même nombre maxi pour la même personne, l'enregistrement sera répété.

    Ainsi l'exécution de la requête pour la table :

    N° NOM NB DIVERS
    1 toto 2 8
    2 titi 3 9
    3 tata 5 0
    4 tutu 7 2
    5 toto 1 0
    6 titi 4 1
    7 tata 0 5
    8 tutu 0 5
    9 tata 5 7

    te donnera :

    NOM NB DIVERS
    tata 5 7
    tata 5 0
    titi 4 1
    toto 2 8
    tutu 7 2

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Ca marche impeccable !
    C'etait pas compliqué mais fallait le voir une fois pour comprendre.

    Et je n'ai pas de probleme de doublons car le champ en question est une date qui est unique dans ma veritable table, vu que j'avais simplifié le probleme

    Merci pour ton aide mister Dumas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XI] problème avec groupe sur un champ trié par origine ?
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 11/04/2007, 15h31
  2. action reaction avec champs type="text"
    Par ericmart dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/04/2005, 17h00
  3. [stringtokenizer] probleme avec champs vides
    Par gege2mars dans le forum Langage
    Réponses: 9
    Dernier message: 30/06/2004, 08h25
  4. Pb de tri avec champs vide
    Par nesbla dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2004, 17h42
  5. fenêtre avec champs éditables
    Par LFC dans le forum Windows
    Réponses: 2
    Dernier message: 13/09/2003, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo