Bonjour,
je suis confronté depuis pas mal de temps et sur plusieurs requête à un léger soucis au niveau du group by.

Quand je fais une somme , je met mon group by mais j'ai toujours une erreur , voici un exemple de requete que j'ai, avec les différents champs, que je peux avoir

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
 
select
	numero_fichier as num_fichier,
	annee as annee_fichier,
(
	select   sum(ROUND(t21.indemnite,2)) as tot_ind    //champs dans le group by ou non ? 
	from table3 t21
	inner join table2 t25 on ......
	inner join table4 t26 on ......
	inner join tableAnnee tcamp on ......
	where  t26.......=d1........
	and  tcamp.anee= (cast('2017' as integer))
) as indemnite_total ,
nvl(paiement_50e,0) as paiement_50e,
 sum(heure_travaillé) as Temps_travaille,
drt_acq_pr1 - nvl(nbrs_pr, 0) +
drt_acq_pr1 - nvl(nbjrs_pr, 0) as drt_reste_pr,
(NVL(td.nbheureAcci,0)) Nbh_accident_trav,
(NVL(decode(td.CommAcci,123,'Ignorer',456,'Demande ..........'),0)) AS commentaire_accident,
from	tabledossier2
inner join	table4 d1			on .......
inner join	tableAnnee			on ....
inner join	............			on ......
inner join	.....			on s.......
quand je fais mon group by ça me dit :
ORA-00979: n'est pas une expression GROUP BY
00979. 00000 - "not a GROUP BY expression"

Sqldeveloper me propose une liste de champs pour le group by mais ça marche pas, car j'ai des nvl, nvl(decode etc.... du coup je sais pas si les champs je dois les mettre ou non, ceux qui sont dans le decodes
Voici la liste que j'ai faite, personnellement j'ai mis tout les champs qu'elles qu'ils soit mais rien à faire, comment ça se fait ?
Y a til des champs à ne pas mettre dans le group by ?
Merci d'avance