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 :

Union de 2 requêtes avec COUNT


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Union de 2 requêtes avec COUNT
    Bonjour,

    Je suis embêtée depuis quelques temps.
    Je souhaite insérer 2 colonnes à la fin de ma requête initiale, en insérant donc ces 2 colonnes dans ma requête de base.

    Requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT ID_OFFRESTAGE, ID_ENTREPRISE, ETS_LIBELLE, DMA_LIBELLE, REG_LIBELLE, ID_PAYS, CUD_LIBELLE, SEC_CODE, OFS_LIBELLE
    FROM DE_OFFRESTAGE O
    LEFT JOIN DE_ENTREPRISE
    USING ( ID_ENTREPRISE ) 
    LEFT JOIN DE_SECTIONIEP
    USING ( ID_SECTION ) 
    LEFT JOIN DE_DOMAINEACTIVITE
    USING ( ID_DOMAINEACTIVITE ) 
    LEFT JOIN DE_REGION
    USING ( ID_REGION ) 
    LEFT JOIN DDE_CURSUSDESTINATAIRE
    USING ( CUD_CODE )
    Requête à ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DE_ENTREPRISE. * , COUNT( DE_OFFRESTAGE.ID_OFFRESTAGE ) AS ETS_NBOFFRESTAGERECUES, COUNT( ID_STAGEREALISE ) AS ETS_NBETUDIANTRECUS
    FROM DE_ENTREPRISE
    LEFT JOIN DE_OFFRESTAGE ON DE_ENTREPRISE.ID_ENTREPRISE = DE_OFFRESTAGE.ID_ENTREPRISE
    LEFT JOIN DE_STAGEREALISE ON DE_ENTREPRISE.ID_ENTREPRISE = DE_STAGEREALISE.ID_ENTREPRISE
    GROUP BY DE_ENTREPRISE.ID_ENTREPRISE
    A savoir que par ligne, il faudrait que la requête 2 prenne comme paramètre l'ID entreprise trouvé au-dessus pour la ligne ...

    Je ne sais pas si c'est clair ...

    Cordialement et merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Points : 674
    Points
    674
    Par défaut
    Bonjour,

    Je n'aime pas trop la synthaxe de votre requete avec des LEFT JOIN à profusion ....

    Sans doute lié un probleme de modelisation soit, on ne va pas épiloguer, je n'ai pas plus d'informations concernant votre contexte !

    Concernant votre demande si je comprend bien vous souhaitez réaliser l'opération suivante :

    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
     
    SELECT ID_OFFRESTAGE, ID_ENTREPRISE, ETS_LIBELLE, DMA_LIBELLE, REG_LIBELLE, ID_PAYS, CUD_LIBELLE, SEC_CODE, OFS_LIBELLE,G.ETS_NBETUDIANTRECUS,G.ETS_NBOFFRESTAGERECUES
    FROM DE_OFFRESTAGE O
    LEFT JOIN DE_ENTREPRISE DEE
    USING ( ID_ENTREPRISE ) 
    LEFT JOIN DE_SECTIONIEP
    USING ( ID_SECTION ) 
    LEFT JOIN DE_DOMAINEACTIVITE
    USING ( ID_DOMAINEACTIVITE ) 
    LEFT JOIN DE_REGION
    USING ( ID_REGION ) 
    LEFT JOIN DDE_CURSUSDESTINATAIRE
    USING ( CUD_CODE )
    LEFT JOIN ( SELECT DE_ENTREPRISE. * , COUNT( DE_OFFRESTAGE.ID_OFFRESTAGE ) AS ETS_NBOFFRESTAGERECUES, COUNT( ID_STAGEREALISE ) AS ETS_NBETUDIANTRECUS
    			FROM DE_ENTREPRISE
    			LEFT JOIN DE_OFFRESTAGE ON DE_ENTREPRISE.ID_ENTREPRISE = DE_OFFRESTAGE.ID_ENTREPRISE
    			LEFT JOIN DE_STAGEREALISE ON DE_ENTREPRISE.ID_ENTREPRISE = DE_STAGEREALISE.ID_ENTREPRISE
    			GROUP BY DE_ENTREPRISE.ID_ENTREPRISE) AS G ON G.ID_ENTREPRISE = DEE.ID_ENTREPRISE
    MCSA SQL SERVER |MCT | MVP Data Platform

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Finalement, mon problème a été résolu en intégrant les requêtes directement dans le SELECT. Je testerai votre requête mais il me semble avoir déjà testé et avoir eu des erreurs ...

    Merci

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

Discussions similaires

  1. Lenteur requête avec count
    Par psmpa dans le forum SQL
    Réponses: 2
    Dernier message: 25/09/2008, 09h06
  2. Requête avec Count().
    Par SirDarken dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/07/2008, 18h14
  3. Imbrication de 2 requête avec "count" et division
    Par Chtulus dans le forum Langage SQL
    Réponses: 5
    Dernier message: 21/04/2008, 14h12
  4. requête avec COUNT ?
    Par delphim dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/02/2005, 14h46
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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