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

Langage SQL Discussion :

comment faire un group by sans erreur


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 240
    Points : 60
    Points
    60
    Par défaut comment faire un group by sans erreur
    bonsoir jai les deux tableaux suivant:
    premier tableau:
    date nom_eleve code_professeur duree
    2006-04-12 alfa 001 1.5
    2006_03_12 beta 002 1
    2006-01-21 gama 001 1
    2006-02-02 alfa 002 1
    --- -- -- --

    deuxieme tableau:
    cod_prof nom_prof
    001 remi
    002 titi
    --- ---

    je voudrai afficher avec un select le nom_eleve, le nom_prof, et la somme des duree pour chaque elve ayant pri des professeurs differents! avec sum je suis obligé de faire un group by ce qui supprimera par exemple la somme de alfa avec 002 soit titi(car le nom deviendra unique)! qui a un code a me proposer je suis vraiment coincer?

  2. #2
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    Hello,

    Entre le double postage, le français difficilement lisible, les structures pas expliqués et non formatées, et la question pas super claire, je vais quand même essayer de te répondre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT 
       details.nom_eleve, nom_professeur, details.total_duree
    FROM 
       tab1,tab2, (SELECT t1.nom_eleve, t1.code_professeur, SUM(t1.duree) as total_duree
                             FROM tab1 t1
                             GROUP BY t1.nom_eleve,t1.code_professeur
                             HAVING COUNT(*) > 1) details
    WHERE 
       tab1.code_professeur = tab2.code_professeur
    AND 
       tab1.nom_eleve=details.nom_eleve
    mais ca ca affiche pour chaque eleve le nom de tous ses prof et la somme totale des cours suivit (pas qu'avec ce prof) et à condition que l'eleve ait suivi plus d'un cours. C'est ca que tu voulais?

    ++

    PS : supprime ou fais supprimer le 2 eme post stp
    Two beer or not two beer. (Shakesbeer)
    Question technique par MP => poubelle!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 240
    Points : 60
    Points
    60
    Par défaut
    merci pour la reponse mais moi je n'ai que deux tableau tu m'en a mis au moin 3 ou 4. en faite jai un tableau composé des champs suivant:
    - une clé corespondant au chiffe representant les professeurs
    -le nom des eleves
    -la durée des cours qu'ils ont fait, la date de chaque cours

    puis jai un deuxieme tableau qui contient:
    -la clé correspondant au chiffre representant les profeseurs( la clé primaire)
    -le nom des professeurs

    je voudrai faire une requete me donnant les champs suivants:
    -le nom de chaque eleve ayant fai des cours avec les differents professeurs
    -le nom de chaque prof ayant fai des cours avec les eleves differents
    -la durée total des cours pratiquer par les eleves pour chaque professeur pendant cet periode

  4. #4
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut

    ok, alors
    1) lis http://www.developpez.net/forums/showthread.php?t=944
    2) lis http://www.developpez.net/forums/showthread.php?t=7
    en particulier la partie multipost (3 pour la même chose, ca commence a faire pas mal, tu ne trouve pas??)

    Ensuite, je n'ai pas mis 3 ou 4 tableaux, mais seulement 2 qui correspondent à tes 2 tableaux (tab1 et tab2). Si tu avait mis un nom à tes tableaux ca irait mieux!

    Ce que tu considère comme 3 ou 4 tableaux sont des alias! cf FAQ!

    Ensuite, pour ce que tu voudrais, ce que tu explique et/ou ce que je comprend, il te faut plus d'une requête.
    Mais comme je ne comprend pas ce que tu veux précisement, je vais m'abstenir de te donner de mauvaises pistes (encore?) et te laisser donner les informations minimales.
    ++
    Two beer or not two beer. (Shakesbeer)
    Question technique par MP => poubelle!

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 240
    Points : 60
    Points
    60
    Par défaut
    oui en faite tu as raison je suis un idiot ta raison c d alias! ta requete est presque bonne mai il ya une erreur au niveau de details.duree il ne reconnai pa alors que t1.duree si

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 240
    Points : 60
    Points
    60
    Par défaut
    jai enlevé le details et sa marche mai il ne me fai pa la somme il maffiche des cases en double

  7. #7
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    Citation Envoyé par phpaide
    oui en faite tu as raison je suis un idiot ta raison c d alias! ta requete est presque bonne mai il ya une erreur au niveau de details.duree il ne reconnai pa alors que t1.duree si
    il faut mettre details.total_duree, j'ai fourché dans le nom
    Two beer or not two beer. (Shakesbeer)
    Question technique par MP => poubelle!

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 240
    Points : 60
    Points
    60
    Par défaut
    oui ta requete passe et me fai la somme mais m'affiche les lignes en double avec provocation d'erreur car il y a des sommes qui ne correspondent pas.

Discussions similaires

  1. Comment faire du shadow mapping sans shader?
    Par drcd dans le forum OpenGL
    Réponses: 49
    Dernier message: 17/11/2009, 02h35
  2. [AC-2007] Comment faire un groupe d'option à choix multiples
    Par Elena34 dans le forum IHM
    Réponses: 2
    Dernier message: 22/04/2009, 09h37
  3. Réponses: 4
    Dernier message: 26/04/2007, 08h41
  4. Réponses: 2
    Dernier message: 16/02/2007, 15h56
  5. Réponses: 19
    Dernier message: 28/01/2005, 09h52

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