Bonjour,

Je suis devant un mur, je ne parviens pas à trouver la solution à mon problème.

Voici mes tables :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
DISPO-INTERCO
id
idorganisme
etatLien (valeurs OK ou NOK)
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
ORGANISME
idOrganisme
nomOrganisme
Je dois retourner une table avec nomOrganisme et etatLien OK divisé par etatLien NOK (pour cet organisme)

Voici ma 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
15
16
17
18
19
select Organisme.nomOrganisme AS Organisme,
       cast(
          cast(
          (count(DispoInterco.etatLien)
          ) * 100 AS numeric(10,2))
           /
             (cast(
                (select count(DispoInterco.etatLien)
                 from DispoInterco, Organisme
                 where DispoInterco.idCPIPCDOrganisme=CPIPCDOrganisme.idCPIPCDOrganisme
                ) AS numeric(10,2))
             )
           AS numeric(4,2)
           )
        AS Taux
        from DispoInterco, Organisme
        where DispoInterco.idOrganisme=Organisme.idOrganisme
        and DispoInterco.etatLien='OK'
group by Organisme
Le problème, c'est que ma requête intérieure me retourne le résultat pour tous les organismes, et non pas pour celui "en cours" dans le group by...

Si quelqu'un a une piste ?

Merci d'avance !