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 :

Problème de somme sur sous-requête


Sujet :

Langage SQL

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 611
    Points : 359
    Points
    359
    Par défaut Problème de somme sur sous-requête
    Bonjour,

    Je travaille sur de la GPAO. Je cherche à calculer le prix d'inventaire d'un type d'article à partir de son "coût matière". Pour cela, j'ai calculé le "coût matière" pour chaque matière de la gamme opératoire.
    A présent je dois consolider ces coûts par article utilisant la gamme.
    Malheureusement, je coince un peu en SQL. Je précise que je suis sous Oracle 10g.

    Voici la requête qui calcule le coût matière par gamme:

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    select tmp.id_routing,sum(tmp.cout_pour_un)
    from 
    (select b1.*
      from toperp.V_TRT_UNIT_BESOIN_ACHAT b1
     union
     select b2.*
     from toperp.V_TRT_UNIT_CDE_BES_ACHAT b2
     union 
     select b3.*
     from toperp.V_TRT_UNIT_BES_CDE_ACHAT b3
     union
     select b4.*
     from toperp.V_TRT_UNITTOT_BESOIN_ACHAT b4
     union 
     select b5.*
     from toperp.V_TRT_UNITTOT_BESAB1_ACHAT b5
     union
     select b6.*
     from toperp.V_TRT_UNITTOT_BESAB2_ACHAT b6
     union
     select b7.*
     from toperp.V_TRT_UNIT_TOLE_1 b7 
     union
     select b8.*
     from toperp.V_TRT_UNIT_TOLE_2 b8
     union
     select b9.*
     from toperp.V_TRT_UNIT_TOLE_3 b9 
     union
     select b10.*
     from toperp.V_TRT_UNIT_TOLE_4 b10
     union
     select b11.*
     from toperp.V_TRT_UNIT_TOLE_5 b11
     union 
     select b12.*
     from toperp.V_TRT_BES_M_MM b12
     union
     select b20.*
     from toperp.V_TRT_MAT_SANS_LIV b20
    ) tmp
    group by tmp.id_routing
    Voici la requête qui me permet d'extraire les articles utilisant ces gammes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select a.id_article, o.id_routing
    from toperp.t_article a, toppdm.object o , toppdm.routing_material m
    where a.b_prod = -1
      and a.id_famille = 385
      and a.id_type_article = 1
      and a.id_object = o.id_object
      and o.type = 47
    Le but étant de :
    1. faire la jointure entre la dernière requête est la première sur id_routing,
    2. remonter la somme de cout_pour_un par a.id_article.

    Merci d'avance.
    Julien.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    il suffit de faire une jointure interne entre vos deux requêtes, un peu de lecture et vous comprendrez mieux :
    http://sqlpro.developpez.com/cours/sqlaz/jointures/

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 611
    Points : 359
    Points
    359
    Par défaut
    En utilisant le inner join, j'ai réussi à m'en sortir.

    Merci bien.
    Julien.

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

Discussions similaires

  1. Problème de SUM sur une requête SQL
    Par Lapicure dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 12/06/2007, 11h51
  2. problème d'alias dans sous requête
    Par jadey dans le forum SQL
    Réponses: 4
    Dernier message: 05/06/2007, 11h58
  3. Problème avec coun(*) sur une requête
    Par Kaoru-tabris dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/03/2007, 15h00
  4. problème de doublon sur les requêtes
    Par laurent7474 dans le forum Oracle
    Réponses: 6
    Dernier message: 08/12/2006, 10h31
  5. [MSDE] Problème de groupage sur une requête
    Par joefou dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/11/2006, 09h43

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