Bonjour,
dans le code suivant, j'ai rajouté le 3ème champ, lorsque l'exécute le code, j'ai 4 lignes qui remontent (normal puisque dans la table il y 4 lignes) mais une seule valeur du 3ème champ est la bonne celle qui correspond à la date max.
J'ai dupliqué la table avec une jointure, j'ai créé une sous-requête dans le FROM sans résultat. Quelle est la bonne méthode s'il vous plait?

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
 
SELECT     e.id_article
,          MAX(e.date_cmde)
,          tal2.qte_cmde
FROM
  (
   SELECT   ta.id_article 
           ,tal.reference     
           ,date_cmde
           ,tal.ID_ACHAT_LIGNE
   FROM     TOPERP.T_achat_LIGNE tal 
           ,TOPERP.T_article ta
           ,T_GROUPE_ARTICLE tga
   WHERE    tal.ID_ARTICLE =  ta.ID_ARTICLE (+)
   and      ta.ID_GROUPE_ARTICLE = tga.ID_GROUPE_ARTICLE(+)
   and      tga.ID_GROUPE_ARTICLE = 77
   GROUP BY tal.reference
           ,date_cmde 
           ,ta.id_article 
           ,tal.ID_ACHAT_LIGNE
  ) e
,  toperp.t_achat_ligne tal2
WHERE       e.id_article = 6800
and         e.ID_ACHAT_LIGNE = tal2.ID_ACHAT_LIGNE
GROUP BY    e.id_article
,           tal2.qte_cmde
;