Bonjour a tous,
j'essaie d'effectuer une requête mais je bloque sur un détail. Je veux sélectionner le "peak_cps max" s’il y a sinon le "cps_max maximum"….Dans le cas du "peak_cps", je dois aussi inclure le "peak_depth" et dans le cas du "cps_max", je dois inclure le "dep_f" et le "dep_t" !!!
Comment puis-je m’y prendre?

exemple de données:
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
 
 id    | NUMBER    | Dep_F  |  Dep_T |cps_max|cps_min|peak_cps|peak_depth
1871   88-08-053     20.7	80	120	100		
1872   88-08-053     80	280	110	90		
1873   88-08-053     280	454	120	100		
1874   88-08-053     454	575.5	130	110		
1875   88-08-053     575.5	576.5	130	110	140	576
1876   88-08-053     576.5	578.4	330	130	410	577
1877   88-08-053     578.4	581.3	140	110	220	580.8
1878   88-08-053     581.3	581.9	525	420	570	581.5
1879   88-08-053     581.9	582.2	2770	1400	4875	582
1880   88-08-053     582.2	582.4	23300	8000		
1881   88-08-053     582.4	583.6	65000	65000		
1882   88-08-053     583.6	583.8	25600	22200		
1883   88-08-053     583.8	584.3	7000	1470	9900	584.1
1884   88-08-053     584.3	585.6	450	110	2500	584.5
et le résutalt souhaité:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
id    | NUMBER  |cps_max|peak_depth|Dep_F| Dep_T	 
1881   88-08-053  65000		    582.4  583.6
Voici ce que j'ai essayé qui se rapproche le plus de ce que je veux mais j'ai quelques aberrations

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
 
select 
udef.number, 
max(udef.peak_cps) as "Peak_CPS", 
max(radiometrie1.peak_depth) as "Peak_Depth", 
null as "dep_f", 
null as "dep_t"
 
from 
udef
join udef as radiometrie1 on udef.radiometrie_id = radiometrie1.radiometrie_id
 
where 
udef.peak_cps is not null and udef.peak_cps <> 0
group by 
udef.number
 
union
 
select 
udef.number, 
max(udef.cps_max) as "Peak_CPS", 
null as "Peak_Depth",
max(radiometrie1.dep_f) as "dep_f", 
max(radiometrie1.dep_t) as "dep_t"
from 
 
udef 
join udef as radiometrie1 on udef.radiometrie_id = radiometrie1.radiometrie_id
 
group by 
udef.number
 
 
--having max(udef.peak_cps) is null or max(udef.peak_cps) = 0
Merci !!