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
quand je fais mon group by ça me dit :
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.......
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
Partager