Re-salut,
décidément j'en demande beaucoup aujourd'hui, mais la c'est un poil plus recherché que ma demande précédente.
Je cherche en gros à mettre un CASE dans un WHERE, ce qui, bien évidemment, ne rime à rien.
Néanmoins l'idée est la suivante : je voudrais ramener ca
C'est à dire que ma clause WHERE portera sur des colonnes différentes selon la valeur d'une colonne.
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 select am0.titulaire, am0.var5, hi0.status, count(*) from SYSADM.hi0 hi0, SYSADM.hi3 hi3, SYSADM.am0 am0, SYSADM.hi00 where am0.titulaire = hi3.personne and hi0.ref = hi00.code and hi3.hi0_nrid = hi0.nrid and hi0.ref like '%FUP%' and am0.titulaire like '%' and CASE (hi0.status) WHEN 'To do' THEN hi0.date_deb>=DATEADD(month,-12,getdate()) ELSE hi0.faitle>=DATEADD(month,-12,getdate()) and CASE (hi0.status) WHEN 'To do' THEN hi0.date_deb<=getdate() ELSE hi0.faitle<=getdate() and am0.template is null and hi0.template is null group by am0.titulaire, am0.var5, hi0.status
Savez vous comment je pourrais procéder ?
Merci !!
EDIT : Je précise que je n'ai pas le droit d'utiliser d'UNION pour des raisons un peu complexes à expliquer, je ne dois faire qu'un seul select
Partager