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 :

SQL relier le résultat de deux requêtes


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut SQL relier le résultat de deux requêtes
    J'ai deux requêtes

    Celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT `lignefab`.`lfab_date` , `lignefab`.`lfab_codeft` , sum( `lfab_qtecomp` ) , `tablecomp`.`tcomp_famille`
    FROM `lignefab` , `tablecomp`
    WHERE `lignefab`.`lfab_comp` = `tablecomp`.`tcomp_code`
    AND ( `tablecomp`.`tcomp_famille` = 'Fruit'
    OR `tablecomp`.`tcomp_famille` = 'Sucre' )
    GROUP BY `tablecomp`.`tcomp_famille` , `lignefab`.`lfab_codeft`
    ORDER BY `lignefab`.`lfab_date` DESC , `lignefab`.`lfab_codeft` ASC
    qui me donne par exemple comme résultat
    2009-11-08 CHA 84
    2009-10-15 CP 19
    Soit pourla confiture de Coing-Pomme faite le 15 nov 2009 on a utilisé 19 kg de fruits ET de sucre


    et celle là
    Total fruit et sucre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT `lignefab`.`lfab_date` , `lignefab`.`lfab_codeft` , sum( `lfab_qtecomp` )
    FROM `lignefab` , `tablecomp`
    WHERE `lignefab`.`lfab_comp` = `tablecomp`.`tcomp_code`
    AND ( `tablecomp`.`tcomp_famille` = 'Fruit'
    OR `tablecomp`.`tcomp_famille` = 'Sucre' )
    GROUP BY `lignefab`.`lfab_date` , `lignefab`.`lfab_codeft`
    ORDER BY `lignefab`.`lfab_date` DESC , `lignefab`.`lfab_codeft` ASC

    qui me donne par exemple comme résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    2009-11-08    CHA    46    Fruit
    2009-11-08    CHA    38    Sucre
    2009-10-15    CP    13    Fruit
    2009-10-15    CP    6    Sucre
    Soit pourla confiture de Coing-Pomme faite le 15 nov 2009 on a utilisé 13 kg de fruits et 6 kg de sucre

    Et je souhaiterais maintenant faire
    13 kg de fruits / 19 kg de fruits et sucre font x%

    Mais comment relier ces deux requêtes ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Plutot que relier ces deux requêtes, vous pouvez essayer ç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
     
    SELECT 
          lf.lfab_date , 
          lf.lfab_codeft , 
          sum(lfab_qtecomp) AS total,
          coalesce(sum(CASE tc.tcomp_famille WHEN 'Fruit' THEN lfab_qtecomp END),0) AS Total_Fruit,
          coalesce(sum(CASE tc.tcomp_famille WHEN 'Sucre' THEN lfab_qtecomp END),0) AS Total_Sucre,
          (coalesce(sum(CASE tc.tcomp_famille WHEN 'Fruit' THEN lfab_qtecomp END),0) / sum(lfab_qtecomp))*100 AS Pct_Fruit,
          (coalesce(sum(CASE tc.tcomp_famille WHEN 'Sucre' THEN lfab_qtecomp END),0) / sum(lfab_qtecomp))*100 AS Pct_Sucre
    FROM lignefab lf
    INNER JOIN tablecomp tc ON lf.lfab_comp = tc.tcomp_code
    WHERE ( tc.tcomp_famille = 'Fruit'
    OR tc.tcomp_famille = 'Sucre' )
    GROUP BY lf.lfab_date , lf.lfab_codeft
    ORDER BY lf.lfab_date DESC , lf.lfab_codeft ASC

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup.
    ça marche bien sûr très bien
    Maintenant je cherche à comprendre ... je crois que ça vient

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

Discussions similaires

  1. Soustraction des résultats des deux requêtes sql en access
    Par samsamo dans le forum Requêtes et SQL.
    Réponses: 31
    Dernier message: 24/09/2011, 03h18
  2. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  3. Réponses: 5
    Dernier message: 14/06/2006, 15h19
  4. [SQL] Problème de résultat avec une requête
    Par raptorman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2006, 17h16
  5. Afficher le ratio du résultat de deux requêtes
    Par decour dans le forum Access
    Réponses: 25
    Dernier message: 07/11/2005, 19h54

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