Bonjour,

Je galère depuis un bon moment sur une requête qui me renvoit à chaque fois l'erreur : n'est pas une expression de groupe. Je suis Oracle 10g.

J'ai essayé plusieurs solutions mais qui se sont avérées toutes infructueuses. Si quelqu'un peut m'aider ça serait avec grand plaisir.

Ma requête est la suivante (ORA-00979):

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
select
count(RES."ID") as "NbrRes",
RES.PATIENT_LASTNAME as "lastname",
RES.PATIENT_MAIDEN_NAME as "maiden name",
RES.PATIENT_FIRSTNAME as "firstname",
RES.EXTERNAL_NUMBER as "numero externe",
TRUNC(MONTHS_BETWEEN(RES.SAMPLE_SAMPLING_DATE,RES.PATIENT_BIRTHDATE)/12)+1 as "Age",
(select BOX_FULLNAME from HCQ_STORAGE_CONTAINER where BOX_ID=RES.STORAGE_BOX_ID) as "Box",
count(RES."ID")*RES.QUANTITY as "QtDispo",
(select SHORT_NAME from PRIMARY_UNIT where ID=RES.UNIT_ID) as "Unit"
 
from
HCQ_RESOURCE RES
 
group by
RES.PATIENT_LASTNAME,
RES.PATIENT_MAIDEN_NAME,
RES.PATIENT_FIRSTNAME,
RES.EXTERNAL_NUMBER,
RES.QUANTITY,
TRUNC(MONTHS_BETWEEN(RES.SAMPLE_SAMPLING_DATE,RES.PATIENT_BIRTHDATE)/12)+1
order by
TRUNC(MONTHS_BETWEEN(RES.SAMPLE_SAMPLING_DATE,RES.PATIENT_BIRTHDATE)/12)+1
J'ai également essayer de faire ceci mais ça me renvoit une erreur identifier invalide:

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
select
count(RES."ID") as "NbrRes",
RES.PATIENT_LASTNAME as "lastname",
RES.PATIENT_MAIDEN_NAME as "maiden name",
RES.PATIENT_FIRSTNAME as "firstname",
RES.EXTERNAL_NUMBER as "numero externe",
TRUNC(MONTHS_BETWEEN(RES.SAMPLE_SAMPLING_DATE,RES.PATIENT_BIRTHDATE)/12)+1 as "Age",
(select BOX_FULLNAME from HCQ_STORAGE_CONTAINER where BOX_ID=RES.STORAGE_BOX_ID) as "Box",
count(RES."ID")*RES.QUANTITY as "QtDispo",
(select SHORT_NAME from PRIMARY_UNIT where ID=RES.UNIT_ID) as "Unit"
 
from
HCQ_RESOURCE RES
 
group by 
RES.PATIENT_LASTNAME,
RES.PATIENT_MAIDEN_NAME,
RES.PATIENT_FIRSTNAME, 
RES.EXTERNAL_NUMBER, 
RES.QUANTITY,
TRUNC(MONTHS_BETWEEN(RES.SAMPLE_SAMPLING_DATE,RES.PATIENT_BIRTHDATE)/12)+1 ,
Age,
Box,
Unit
order by 6