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

Développement SQL Server Discussion :

Construction d'une requête imbriquée


Sujet :

Développement SQL Server

  1. #1
    Membre régulier Avatar de Tchicken
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 108
    Points : 85
    Points
    85
    Par défaut Construction d'une requête imbriquée
    Bonjour à tous,

    j'ai une requête qui me fournie une liste de numéro par DateReunion, NumReunion et NumCourse, ayant une valeur supérieure à zéro sur la colonne PourcentDef :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT T1.NumGeny, T1.DateReunion, T1.LieuCourse, T1.NumReunion, T2.NumCourse, Numero, PlaceArrivee, PourcentDef, CoteDef 
    FROM Chevaux T3
    INNER JOIN Courses T2 ON T3.NumGeny=T2.NumGeny 
    INNER JOIN Reunions T1 ON T2.NumGeny=T1.NumGeny AND T1.DateReunion = '2023-01-07'
    WHERE PourcentDef > 0 AND PlaceArrivee > 0 AND PlaceArrivee < 4
      AND T2.NumCourse = T3.NumCourse
    ORDER BY T1.NumGeny, T1.DateReunion, T1.LieuCourse, T1.NumReunion, T2.NumCourse, PourcentDef DESC
    Et une deuxième requête qui me fournie le nombre de numéro par DateReunion, NumReunion et NumCourse, ayant une valeur supérieure à zéro sur la colonne PourcentDef :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT ST1.NumGeny, ST1.DateReunion, ST1.LieuCourse, ST1.NumReunion, ST2.NumCourse, COUNT(*) as NbSRC
    FROM Chevaux ST3
    INNER JOIN Courses ST2 ON ST3.NumGeny=ST2.NumGeny 
    INNER JOIN Reunions ST1 ON ST2.NumGeny=ST1.NumGeny AND ST1.DateReunion = '2023-01-07'
    WHERE PourcentDef > 0 AND ST2.NumCourse = ST3.NumCourse
    GROUP BY ST1.NumGeny, ST1.DateReunion, ST1.LieuCourse, ST1.NumReunion, ST2.NumCourse
    Je cherche à réunir ces 2 requêtes pour que la colonne obtenue dans cette deuxième requête soit ajoutée à la fin de chacune des lignes de la première requête.

    Merci de votre aide, Tchicken.

  2. #2
    Membre régulier Avatar de Tchicken
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 108
    Points : 85
    Points
    85
    Par défaut
    J'ai trouvé la réponse, elle ne semble pas optimisé, mais elle est fonctionnelle :

    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
    20
    SELECT T1.NumGeny, T1.DateReunion, T1.LieuCourse, T1.NumReunion, T2.NumCourse, Numero, PlaceArrivee, CoteDef, PourcentDef, 
    (
    SELECT COUNT(*) as NbSRC
    FROM Chevaux ST3
    INNER JOIN Courses ST2 ON ST3.NumGeny=ST2.NumGeny 
    INNER JOIN Reunions ST1 ON ST2.NumGeny=ST1.NumGeny AND ST1.DateReunion = '2023-01-07'
    WHERE PourcentDef > 0 AND ST2.NumCourse = ST3.NumCourse AND 
    	  T1.NumGeny=ST1.NumGeny AND 
    	  T1.DateReunion=ST1.DateReunion AND
    	  T1.LieuCourse=ST1.LieuCourse AND 
    	  T1.NumReunion=T1.NumReunion AND 
    	  T2.NumCourse=ST2.NumCourse
    GROUP BY ST1.NumGeny, ST1.DateReunion, ST1.LieuCourse, ST1.NumReunion, ST2.NumCourse
    )
    FROM Chevaux T3
    INNER JOIN Courses T2 ON T3.NumGeny=T2.NumGeny 
    INNER JOIN Reunions T1 ON T2.NumGeny=T1.NumGeny AND T1.DateReunion = '2023-01-07'
    WHERE PourcentDef > 0 AND PlaceArrivee > 0 AND PlaceArrivee < 4
      AND T2.NumCourse = T3.NumCourse
    ORDER BY T1.NumGeny, T1.DateReunion, T1.LieuCourse, T1.NumReunion, T2.NumCourse, PourcentDef DESC

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    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 136
    Points : 38 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    Vous pouvez faire comme ceci

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    select T1.Col1
         , T1.Col2
         , T1.Coln
         , S2.XX
         , S2.YY
    from T1
    inner join (select T2.T1id
                     , max(T2.ColA) as XX
                     , avg(T2.ColB) as YY
                from T2
                group by T2.T1id
               ) as S2
       on S2.T1id=T1.T1id
    order by...

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

Discussions similaires

  1. Construction d'une requête "imbriquée" avec Oracle
    Par kyra78 dans le forum Langage SQL
    Réponses: 0
    Dernier message: 05/02/2008, 14h29
  2. Construction d'une requête imbriquée
    Par gudul dans le forum SQL
    Réponses: 20
    Dernier message: 03/07/2006, 10h57
  3. Passage de paramètres dans une requête imbriquée
    Par DrakkoFR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2005, 12h46
  4. [Requête] Faire une requête imbriquée?
    Par sekiryou dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2004, 22h52
  5. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29

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