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 :

Joindre 2 requêtes


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 105
    Points : 75
    Points
    75
    Par défaut Joindre 2 requêtes
    Voici deux requêtes.
    Pour chacune de ces deux requêtes, on obtient 6 lignes
    Mais j'aimerai que la colonne obtenu avec la deuxième requête s'ajoute aux 2 de la première. Comment faire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    PARAMETERS NbrEchantillon Short, IntervalleEch1 Short, IntervalleEch2 Short;
    SELECT  Modèle.Modèle, Count(*) AS EnRetard
    FROM Modèle INNER JOIN (Client INNER JOIN Relevé ON Client.InitClient = Relevé.InitClient) ON Modèle.NumEchantillon = Relevé.NumEchantillon
    WHERE Relevé.NumEchantillon<=IntervalleEch2 AND Relevé.NumEchantillon>=IntervalleEch1 AND DateDiff("m",[Relevé].[DateMEC],[Relevé].[DateTraitement])*10>=300 AND Relevé.KmMaxi<300
    GROUP BY Modèle.Modèle;
     
    SELECT Count(*) AS EnRetard
    FROM Modèle INNER JOIN (Client INNER JOIN Relevé ON Client.InitClient = Relevé.InitClient) ON Modèle.NumEchantillon = Relevé.NumEchantillon
    WHERE Relevé.NumEchantillon<=IntervalleEch2 AND Relevé.NumEchantillon>=IntervalleEch1 AND DateDiff("m",[Relevé].[DateMEC],[Relevé].[DateTraitement])*10>=300 AND Relevé.KmMaxi>=300 AND Relevé.KmMax<500
    GROUP BY Modèle.Modèle;

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    De faire une requête union

    @+.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 105
    Points : 75
    Points
    75
    Par défaut
    je peux pas utiliser union. union rajoute le résultat à la fin de la colonne mais n'en crée pas une seconde!!!

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Pour résoudre ton problème, il te suffit de mettre dans chaque des requêtes les trois colonnes, et de mettre 0 quand la colonne n'existe pas. Ainsi tu auras tes colonnes avec une requête union.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 874
    Points : 53 048
    Points
    53 048
    Billets dans le blog
    6
    Par défaut
    Visiblement vous venez du monde Access ou l'on pratique une syntaxe de jointure totalement stupide...

    Voici la réponse à votre requête :

    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
    21
    22
    23
    24
    SELECT  Modèle.Modèle, 
            Count(*) AS EnRetard, 
            (SELECT Count(*)
             FROM   Modèle 
                    INNER JOIN Client 
                          ON Modèle.NumEchantillon = Relevé.NumEchantillon
                    INNER JOIN Relevé 
                          ON Client.InitClient = Relevé.InitClient
            WHERE Relevé.NumEchantillon<=IntervalleEch2 
              AND Relevé.NumEchantillon>=IntervalleEch1 
              AND DateDiff("m",[Relevé].[DateMEC],[Relevé].[DateTraitement])*10>=300 
              AND Relevé.KmMaxi>=300 
              AND Relevé.KmMax<500
            GROUP BY Modèle.Modèle) AS EnRetard2
    FROM    Modèle 
            INNER JOIN Client 
                  ON Modèle.NumEchantillon = Relevé.NumEchantillon
            INNER JOIN Relevé 
                  ON Client.InitClient = Relevé.InitClient
    WHERE Relevé.NumEchantillon<=IntervalleEch2 
      AND Relevé.NumEchantillon>=IntervalleEch1 
      AND DateDiff("m",[Relevé].[DateMEC],[Relevé].[DateTraitement])*10>=300 
      AND Relevé.KmMaxi<300
    GROUP BY Modèle.Modèle
    A +

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/03/2012, 17h22
  2. Joindre deux requêtes
    Par Lobby dans le forum Requêtes
    Réponses: 16
    Dernier message: 17/08/2010, 23h15
  3. [MySQL] Joindre deux requêtes
    Par Lobby dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 17/08/2010, 12h54
  4. joindre 2 requêtes complexes
    Par batistuta dans le forum SQL
    Réponses: 2
    Dernier message: 13/04/2010, 14h24
  5. [A-03] Joindre 2 requêtes
    Par helprojet dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 17/02/2009, 22h19

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