Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/08/2011, 09h50   #1
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
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 :
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 :
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.
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 00h38   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 641
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 641
Points : 2 634
Points : 2 634
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/
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 10h49   #3
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
En utilisant le inner join, j'ai réussi à m'en sortir.

Merci bien.
Julien.
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h06.


 
 
 
 
Partenaires

Hébergement Web