dlaumor | Il faut faire une première requête qui ramènera le total (tu mets le code, et une somme sur le total des réponses elle sera utilisée comme "une table" source
Code :
- SELECT
- count(RES.ICD) AS "Total Compte CODE en 2010",
- RES.ICD AS "CODE"
- FROM
- RESOURCE RES
- WHERE
- trunc(RES."SAMPLE_DATE", 'DD') > TO_DATE('10/12/2010', 'DD-MM-YYYY')
- AND RES.ICD IS NOT NULL
- GROUP BY (RES.ICD)
|
Ensuite ta requete existante dans laquelle tu rajoutes le champs calculés en faisant ta jointure sur le code.
Essaye la requete ci-dessous
Code :
- SELECT
- count(RES.ICD) AS "Compte CODE en 2010",
- RES.CONSENT AS "reponse",
- RES.ICD AS "CODE",
- count(RES.ICD) / TOT.SOMME AS POURCENTAGE
- FROM
- RESOURCE RES
- INNER JOIN
- (
- SELECT count(RES.ICD) AS "SOMME"
- , RES.ICD AS "CODE"
- FROM RESOURCE RES
- WHERE trunc(RES."SAMPLE_DATE", 'DD') > TO_DATE('10/12/2010', 'DD-MM-YYYY')
- AND RES.ICD IS NOT NULL
- GROUP BY (RES.ICD)
- ) AS TOT
- ON (RES.CODE = TOT.CODE)
- WHERE
- trunc(RES."SAMPLE_DATE", 'DD') > TO_DATE('10/12/2010', 'DD-MM-YYYY')
- AND RES.ICD IS NOT NULL
- GROUP BY (RES.ICD, RES.CONSENT)
- ORDER BY
- RES.ICD
|
Message édité par dlaumor le 20-12-2010 à 17:15:26
|