Bonjour,
j'ai une question sur une de mes requêtes :
Dans cette requête, le select d.deal_numadm est juste là pour montrer qu'il est différent dans chacune des lignes retournées par la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 select case when d.deal_numadm!=0 and d.deal_numadm is not null then 'MA' || d.deal_nummas || '_' || d.ntt_id when d.deal_numadm=0 or d.deal_numadm is null then 'Master' || d.deal_nummas || '_' || d.ntt_id end as node_id, sum(cva.cva), sum(dva.dva), d.deal_numadm, d.deal_nummas from acc_processed_cva cva left outer join acc_processed_dva dva on dva.deal_id = cva.deal_id join acc_deals d on d.deal_id = cva.deal_id and d.deal_scope='Y' join dt_runs r on r.run_id = cva.run_id and r.deal_cnt_id = d.deal_cnt_id where r.run_id=57 and d.deal_nummas=10700 and d.ntt_id = 1731413 group by d.ntt_id, d.deal_nummas, d.deal_numadm, d.deal_cnt_id, d.ntt_id;
NODE_ID SUM(CVA.CVA) SUM(DVA.DVA) DEAL_NUMADM DEAL_NUMMAS MA10700_1731413 953180 1373440 22012 10700 Master10700_1731413 4886330 4318999 0 10700 MA10700_1731413 1654 1192 12054 10700 MA10700_1731413 4 (null) 83442 10700 MA10700_1731413 14 1093 10775 10700 MA10700_1731413 963 (null) 10779 10700
Ce que je voudrais, c'est une requête qui retourne ça (sans le d.deal_numadm):
NODE_ID SUM(CVA.CVA) SUM(DVA.DVA) DEAL_NUMMAS MA10700_1731413 955815 1375725 10700 Master10700_1731413 4886330 4318999 10700
avec la 1ere ligne qui soit la somme des lignes 1, 3, 4, 5 et 6 du résultat précédent.
J'ai essayé en enlevant le d.deal_numadm du group by de la requête, mais évidemment ça ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 select case when d.deal_numadm!=0 and d.deal_numadm is not null then 'MA' || d.deal_nummas || '_' || d.ntt_id when d.deal_numadm=0 or d.deal_numadm is null then 'Master' || d.deal_nummas || '_' || d.ntt_id end as node_id, sum(cva.cva), sum(dva.dva), d.deal_nummas from acc_processed_cva cva left outer join acc_processed_dva dva on dva.deal_id = cva.deal_id join acc_deals d on d.deal_id = cva.deal_id and d.deal_scope='Y' join dt_runs r on r.run_id = cva.run_id and r.deal_cnt_id = d.deal_cnt_id where r.run_id=57 and d.deal_nummas=10700 and d.ntt_id = 1731413 group by d.ntt_id, d.deal_nummas, d.deal_cnt_id, d.ntt_id;C'est possible de faire ce que je veux ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ORA-00979: not a GROUP BY expression 00979. 00000 - "not a GROUP BY expression"
Partager