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 :

Fusionner le résultat de 2 requêtes


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2020
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Fusionner le résultat de 2 requêtes
    bonjour
    vu que je débute en sql et que je suivais le cours du groupage et ensemble https://sqlpro.developpez.com/cours/sqlaz/ensembles/

    je travaille avec la base de donnée exemple , j'ai fait une requête qui liste les dépenses de chaque client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select T1.CLI_ID,sum(T3.LIF_MONTANT) as total_des_facures from T_CLIENT T1 join T_FACTURE T2 on T1.CLI_ID=T2.CLI_ID  
      join T_LIGNE_FACTURE T3 on T3.FAC_ID=T2.FAC_ID 
    group by T1.CLI_ID 
    order by total_des_facures desc
    et j ai fait une autre requête qui liste le nombre de nuitée de chaque client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     select T2.CLI_ID,COUNT(T1.CLI_ID) as nb_nuite from TJ_CHB_PLN_CLI T1 join T_CLIENT T2 on T1.CLI_ID=T2.CLI_ID
     group by T2.CLI_ID order by nb_nuite desc

    et ce que je voudrais c'est que j 'ai dans un seul tableau l'affichage cote a cote des résultats des 2 requêtes, cad pour chaque client le nombre des nuitée et le total de
    ses dépenses

    merci d'avance

  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 789
    Points
    30 789
    Par défaut
    Qu'as-tu déjà essayé et où rencontres-tu un problème ?
    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
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2020
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    je voudrais que les 2 résultats s'affiche cote a cote dans une seul requêtes,mon problème c'est que si j'ajoute un champs pour calculer le nombre de nuitée de chaque client dans LA 1 ère requête il me rend et logiquement un nombre trop grand du résultat escompté , et merci pour votre reponse

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    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 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Deux solutions :
    1) mettre l'une des deux requêtes en sous requête dans la clause SELECT de l'autre.
    2) utiliser des fonctions de fenêtrage
    À me lire pour ce dernier point :
    https://sqlpro.developpez.com/articl...clause-window/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2020
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    merci pour votre réponse mais sincèrement j'ai pas su comment mettre l'une des deux requêtes en sous requête dans la clause SELECT de l'autre.un petit
    aide et j'en serai très reconnaissant et merci encore une fois

  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 789
    Points
    30 789
    Par défaut
    Ou encore plus simple, effectuer une jointure entre les deux requêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select  rq1.col_commune
        ,   rq1.attributs
        ,   rq2.attributs
    from    (   ma première requête )   as rq1
        inner join
            (   ma seconde requête  )   as rq2
            on  r1.col_commune  = rq2.col_commune
    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
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2020
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    merci pour votre reponse ,oui c'est simple est claire ; aussi suite a une petite recherche j'ai pu trouver une autre method c"est utiliser la commande with :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    WITH group1 AS (
      SELECT testA
        FROM tableA
    ),
    group2 AS (
      SELECT testB
        FROM tableB 
    )
    SELECT *
      FROM group1
      JOIN group2 ON group1.testA = group2.testB --your choice of join
    ;

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

Discussions similaires

  1. Fusionner le résultat de deux requêtes
    Par papa59 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 29/07/2015, 17h39
  2. Fusionner les résultats de plusieurs requêtes
    Par senacle dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/05/2010, 10h33
  3. [MsSql-2005] Fusionner le résultat de deux requêtes
    Par narutobaka dans le forum Développement
    Réponses: 3
    Dernier message: 25/03/2009, 16h46
  4. Fusionner un résultat de requête
    Par curt dans le forum Modélisation
    Réponses: 2
    Dernier message: 26/12/2008, 11h29
  5. Fusionner le résultat de 3 requêtes
    Par LordClaymore dans le forum Access
    Réponses: 1
    Dernier message: 28/07/2006, 16h48

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