bonjour,
cette requete provoque un resultat de 21 rows et met plus de 40 secondes
en traitement sur oracle 10 g

l utilisation de case a la place de decode accelera t il cette requete
je ne suis pas developpeur




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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
select   distinct e.id_expert,
 
                        e.nom ||' '||e.prenom as expert,
 
                        e.adresse_mail,
 
                        e.utilisateur,
 
                        e.mdp,
 
                        (select count(*), case when count(*)=0 then 1 else 0 end
 
                                   from      prisme_p.expert_dossier_cible ec          
 
                                   where   ec.id_exp=e.id_expert) as suppression,
 
                        (select distinct edc.theme_projet
 
                         from     prisme_p.expert_dossier_cible edc
 
                         where  edc.id_exp=e.id_expert) as theme,
 
                        (select  distinct co.nom_coord||' '||co.prenom_coord 
 
                                   from      prisme_p.coordonateur co
 
                                   where   co.id_coord=e.id_coord) as coordonnateur
 
            from      prisme_p.expert e,
 
                        prisme_p.campagne c                           
 
            where   c.id_dispositif=2
 
                        and e.id_coord=5
 
                        and e.id_type_expert=c.id_dispositif
 
                        and e.suppression=0
 
            order by e.nom ||' '||e.prenom