Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 23/08/2011, 13h59   #1
Invité de passage
 
Inscription : juin 2010
Messages : 23
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 23
Points : 3
Points : 3
Par défaut Comparaison somme de deux champs de tables différente

Tout d'abord bonjour à qui voudra bien lire ce message.

Si j'en appelle à vous c'est parce que je suis désespéré de trouver une solution à mon problème.

Un bout de pseudo code sera certainement plus précis qu'un long discours :

Code :
1
2
3
4
 
"SELECT DISTINCT BL_SOUS_TRAITANCE.ID_BL, BL_SOUS_TRAITANCE.ID_FOURNISSEUR_BL
FROM BL_SOUS_TRAITANCE
ORDER BY ID_BLDESC "
J'exécute cette première requête et récupère un à un les premiers ID_BL dont j'ai besoin.
Ensuite pour chaque ID_BL j'exécute deux autres requêtes qui sont :

Code :
1
2
3
4
5
 
"SELECT SUM(Qte_recue_BL)
FROM RECEPTION_BL_SOUS_TRAITANCE
WHERE ID_BL = " + LE_ID_BL_EN_COURS + "
GROUP BY ID_BL"
Je récupère donc la somme attendue pour ce BL là puis j'exécute une autre requête.

Code :
1
2
3
4
5
 
"SELECT SUM(Qte_BL) 
FROM BL_SOUS_TRAITANCE 
WHERE ID_BL = " + LE_ID_BL_EN_COURS + 
"GROUP BY ID_BL"
Puis je compare les deux sommes. Si la première somme est supérieur à la deuxième je peux exécuter mon traitement derrière.

Le problème c'est que cet enchaînement de requête est extrêmement lourd à exécuter mais malheureusement je n'ai pas trouvé de requête permettant de faire tout ce que je veux en une seule fois
Et pourtant Dieu sait que j'ai essayé

En vous remerciant d'avance pour toute aide apporté.

Cordialement goten960, novice en SQL.
goten960 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 14h22   #2
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Ce genre de chose ne fonctionnerait pas ?


Code :
1
2
3
4
5
6
7
8
9
10
SELECT 
 
	Sum(B.Qte_recue_BL),
	Sum(A.Qte_BL)
FROM
	BL_SOUS_TRAITANCE A
INNER JOIN
	RECEPTION_BL_SOUS_TRAITANCE B ON (B.ID_BL=A.ID_BL)
GROUP BY
	A.ID_BL
Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 14h38   #3
Invité de passage
 
Inscription : juin 2010
Messages : 23
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 23
Points : 3
Points : 3
Effectivement je crois que je n'ai vraiment pas les yeux en face des trous aujourd'hui j'avais vu bien trop compliqué...

Je vous remercie pour cette réponse parfaite, qui plus est rapide.
goten960 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 16h38.


 
 
 
 
Partenaires

Hébergement Web