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 :

Problème sous requête sql


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2019
    Messages : 72
    Points : 46
    Points
    46
    Par défaut Problème sous requête sql
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select RANK_VAC_PERE.PAYVAC, RANK_VAC_PERE.NUVACH, PLACEM
     from RANK_VAC_PERE 
    INNER JOIN VACHES on RANK_VAC_PERE.payvac = vaches.payvac 
    and RANK_VAC_PERE.nuvach = vaches.nuvach
    where CRITER = 'ISU' 
    and vaches.nuelev = '15001293' 
    and vaches.payelv = 'FR'
    and rank_vac_pere.nupere = vaches.nupere
    Cette requête affiche un code pays, un numéro et un classement. Sans rentrer dans les détails les jointures ainsi que les conditions dans le where doivent être laissé tel quel.

    Je souhaite afficher après le classement, le nombre de participants sous la forme classement/nb participants (exemple 78/800).
    On obtient le nombre de participants en faisant la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(nuvach)from rank_vac_pere where nupere = '?'  and criter = 'ISU';
    De même pour cette requete les conditions du where doivent être laissé tel quel.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Si tu ne peux modifier ni les jointures, ni le where de la première requête, je ne vois pas comment tu peux ajouter une sous-requête.

    Sinon il suffit de modifier la deuxième requête pour ajouter la colonne payvac, l'ajouter dans les jointures de la première (en faisant le lien sur la même colonne), et enfin d'ajouter "le count(nuvach)" de la sous-requête (enfin son alias).
    Mais il faut modifier les jointures de la première…

    Tatayoi

  3. #3
    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 803
    Points
    30 803
    Par défaut
    Quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    select  RNK.PAYVAC
        ,   RNK.NUVACH
        ,   PLACEM
        ,   CNT.TOTAL
    from    RANK_VAC_PERE   as  RNK 
        inner join 
            VACHES          as  VCH 
            on  RNK.PAYVAC = VCH.PAYVAC 
            and RNK.NUVACH = VCH.NUVACH
            and RNK.NUPERE = VCH.NUPERE
        cross join
            (   select  count(NUVACH)   as  TOTAL
                from    RANK_VAC_PERE 
                where   NUPERE = '?'  
                    and CRITER = 'ISU'
            )   as   CNT
    where   RNK.CRITER = 'ISU' 
        and VCH.NUELEV = '15001293' 
        and VCH.PAYELV = 'FR'
    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.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2019
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Finalement j'ai réussi enfaisant comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT t1.PAYVAC, t1.NUVACH, CONCAT(CONCAT(PLACEM, '/'),(SELECT COUNT(t1.NUVACH) FROM RANK_VAC_PERE t1 JOIN VACHES t2 ON t1.PAYVAC = t2.PAYVAC AND t1.NUVACH = t2.NUVACH AND t1.NUPERE = t2.NUPERE and t1.NUPERE = '?')) AS CLASSEMENT
    FROM RANK_VAC_PERE t1 JOIN VACHES t2 ON t1.PAYVAC = t2.PAYVAC 
    AND t1.NUVACH = t2.NUVACH 
    AND t1.NUPERE = t2.NUPERE 
    AND t1.CRITER = 'ISU'
    AND t2.NUELEV = '15001293' 
    AND t2.PAYELV = 'FR';

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

Discussions similaires

  1. Problème avec requête SQL INSERT TO sous VBA Excel
    Par Ikes72000 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 31/03/2017, 11h39
  2. Problème avec requête SQL sous Oracle8I
    Par masterdash dans le forum SQL
    Réponses: 10
    Dernier message: 02/03/2016, 11h59
  3. [CS4] Problème de sous-requêtes SQL avec Dreamweaver
    Par WPH2009 dans le forum Dreamweaver
    Réponses: 5
    Dernier message: 01/04/2009, 18h50
  4. problème sous-requête SQL et order by
    Par aguest dans le forum Requêtes
    Réponses: 10
    Dernier message: 26/12/2005, 23h57
  5. Problème de requète SQL dans un Requery
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/10/2004, 14h58

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