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:
et le résutalt souhaité:
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
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 id | NUMBER |cps_max|peak_depth|Dep_F| Dep_T 1881 88-08-053 65000 582.4 583.6
Merci !!
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
Partager