Bonjour a tous,
je viens vers vous car je pèche sur une requête.
voila la situation:
je travail sous oracle 10
j'ai 2 vues : dgP_actif et rnotation_actif avec comme colonnes tu_idnat et longtronc pour la première, bidnat et longtronc pour la deuxième.
Je doit faire un comparatif entre ces deux table avec comme groupement le tu_idnat (identifiant commun avec bidnat mais non unique sur les deux tables).
la comparaison est la somme par tu_idnat sur dgp_actif.longtronc avec le max de rnotation_actif.longtronc.

Les requetes faites à part fonctionnent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
select distinct tu_idnat, sum(longtronc) from dgp_actif group by tu_idnat order by tu_idnat;
résultats:

TU_IDNAT SUM(LONGTRONC)
-------------------------------------------------- ----------------------
TR00000000116072013152620TB000000001 162
TR00000000116072013161006TB000000001 420

CODE SQL 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
select distinct bidnat, max(longtronc) from rnotation_actif group by bidnat order by bidnat;
résultats:

BIDNAT MAX(LONGTRONC)
---------------------------------------- ----------------------
TR00000000116072013152620TB000000001 346
TR00000000116072013161006TB000000001 420

Le probleme est le resultat sur la somme de la colonne longtronc suivant:

code sql:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
select distinct d.tu_idnat, sum(d.longtronc),   max(r.longtronc)from dgp_actif d,rnotation_actif r where d.tu_idnat=r.bidnat  group by d.tu_idnat,r.bidnat order by d.tu_idnat;
Résultats:

TU_IDNAT SUM(D.LONGTRONC) MAX(R.LONGTRONC)
-------------------------------------------------- ---------------------- ----------------------
TR00000000116072013152620TB000000001 4050 346
TR00000000116072013161006TB000000001 21000 420


En espérant être assez clair.

Merci d'avance pour l'aide.