Bonjour !

J'ai un souci sur une requête qui me résiste, un peu d'aide serait grandement appréciée =P

J'ai une table classification(cléunik, type, numéro, liblong)
Une autre table avec mes données (qu'on appelera RHS).

J'ai besoin de connaitre pour chaque occurence de la table classification qui répond à un critère (type="Provenance"), combien on trouve de lignes dans ma table de données, et ce même si on n'en trouve pas.

En pratique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT classification.numero, classification.liblong, count(rhs.provenance) AS nbpat
FROM RHS
RIGHT JOIN classification ON classification.numero = rhs.provenance
WHERE classification.type = 'Provenance'
GROUP BY classification.numero
ORDER BY classification.numero
Résultat :
numero liblong nbpat
1 Unité de soins de courte durée 4309
2 Unité de soins de suite et de réadaptation 2
3 Unité de soins de longue durée 0
4 Psychatrie 0
6 Hospitalisation à domicile 0
7 Structure d'hébergement médico-sociale 0

donc tout est OK.

Là où ça se complique, c'est quand j'ajoute un critère de sélection et de groupement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
SELECT rhs.um, classification.numero, classification.libellé, count(rhs.provenance) AS nbpat
FROM RHS
RIGHT JOIN classification ON classification.numero = rhs.provenance
WHERE classification.type = 'Provenance'
AND rhs.um = '001'
GROUP BY classification.numero, rhs.um
ORDER BY classification.numero
Résultat :
um numero liblong nbpat
001 1 Unité de soins de courte durée 2604

J'aurais besoin du résultat :
um numero liblong nbpat
001 1 Unité de soins de courte durée 2604
001 2 Unité de soins de suite et de réadaptation 0
001 3 Unité de soins de longue durée 0
001 4 Psychatrie 0
001 6 Hospitalisation à domicile 0
001 7 Structure d'hébergement médico-sociale 0

Voilà mon souci, sachant que j'aurai ensuite d'autres critères à rajouter (date etc)

Merci d'avance à ceux qui tenteront de m'aider, ou qui m'ont lue jusqu'au bout :'D