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

SQL Oracle Discussion :

Requête MAX avec deux tables


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    Systeme d'Information Geographique
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Systeme d'Information Geographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Requête MAX avec deux tables
    Bonjour à tous,

    Je vais essayer de vous exposer mon problème qui pourra paraitre simple pour vous mais je n'arrive pas à le solutionner...

    Pour faire simple, en cette période électorale je dois retrouver le candidat qui a le plus de vote dans un bureau et un scrutin donné.

    j'ai une table BUREAU avec ID_SCRUTIN,ID_BUREAU,ID_RES
    j'ai une table RESULTAT avec ID_SCRUTIN,ID_RES,CANDIDAT,NB_VOIX contenant l'ensemble des votes pour les candidats

    j'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT CANDIDAT,MAX(NB_VOIX) 
    FROM BUREAU,RESULTAT 
    WHERE BUREAU.ID_BUREAU = N° du bureau  AND RESULTAT.ID_RES = BUREAU.ID_RES AND BUREAU.ID_SCRUTIN = N° du scrutin
    GROUP BY CANDIDAT
    Mais je n'obtiens que la liste des candidats avec leurs résultats pour le bureau et le scrutin donnée et pas le candidat vainqueur avec son nombre de voix...

    j'espère avoir été assez claire dans ma demande, et je remercie d'avance les personnes qui prendront la peine d'essayer de m'aider !

    Cordialement

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Que représente fonctionnellement id_res ?
    Quelle est la clé de chacune des tables ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Candidat au Club
    Homme Profil pro
    Systeme d'Information Geographique
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Systeme d'Information Geographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    En fait dans la table BUREAU, j'ai tous les enregistrements de mes bureaux qui génère un ID_RES selon le numéro de scrutin et le bureau de vote.
    Dans la table RESULTAT, qui contient l'ensemble des résultats pour différents scrutins et candidats, le ID_RES permet de retrouver les résultats des candidats et faire la jointure avec le bureau et le scrutin.

    j''espère que c'est un peu plus claire, je n'ai pas fait le MCD et je ne dois pas le modifier...

    Merci

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 130
    Points : 38 543
    Points
    38 543
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Ceci devrait convenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT CANDIDAT, NB_VOIX 
    FROM BUREAU,
    INNER JOIN RESULTAT
       ON RESULTAT.ID_RES = BUREAU.ID_RES  
    WHERE BUREAU.ID_BUREAU  = bureau  
      AND BUREAU.ID_SCRUTIN = scrutin
      AND NB_VOIX = (select max(nb_voix)
                     FROM BUREAU,
                     INNER JOIN RESULTAT
                        ON RESULTAT.ID_RES = BUREAU.ID_RES  
                     WHERE BUREAU.ID_BUREAU  = bureau  
                       AND BUREAU.ID_SCRUTIN = scrutin)

  5. #5
    Candidat au Club
    Homme Profil pro
    Systeme d'Information Geographique
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Systeme d'Information Geographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    J'obtiens le message ORA-00942: Table ou vue inexistante
    j'ai beau vérifier l'intitulé de mes tables et champs je ne vois pas ce qui bloque

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Un tel message d'erreur précise aussi à quel ligne se trouve l'erreur...
    Ligne 3 ?
    Une virgule en trop à la fin de la ligne 2
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Candidat au Club
    Homme Profil pro
    Systeme d'Information Geographique
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Systeme d'Information Geographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    J'ai réussi mais en contournant le problème en faisant un tri descendant sur le résultat et en récupérant la 1ère ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT * 
    FROM
    (SELECT CANDIDAT, NB_VOIX
    FROM RESULTAT,BUREAU
    WHERE BUREAU.ID_BUREAU = bureau AND RESULTAT.ID_RES = BUREAU.ID_RES AND BUREAU.ID_SCRUTIN = scrutin ORDER BY NB_VOIX DESC) WHERE ROWNUM = 1
    Merci d'avoir regardé mon problème !

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

Discussions similaires

  1. Requête avec deux tables m:m
    Par Seb981 dans le forum Langage SQL
    Réponses: 23
    Dernier message: 10/09/2007, 14h15
  2. résultats requête avec deux tables
    Par ideal23 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/03/2007, 10h10
  3. [SQL] Problème avec script de pagination et requête sql sur deux tables
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2006, 14h06
  4. Faire une procédure stockée avec deux tables
    Par mister3957 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/03/2006, 13h54
  5. Réponses: 8
    Dernier message: 13/03/2006, 17h37

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