Bonjour à tous,
Petite précision avant de commencer : je ne suis pas informaticien de formation j'ai quelques légères connaissances mais tout de même assez limitées...
Dans le cadre de mon travail j'ai besoin de récupérer des données de bruit que je dois présenter de la manière suivante :
LAmax nombre
70 14
71 35
72 48
73 65
Le "nombre" correspondant au nombre de fois ou le niveau sonore LAmax est obtenu sur un temps donné. Pour faire ça j'ai utilisé ce code :
(c'est un peu le bazar mais les données liées au problème viennent de fab.Couplage.Max_Level et de count(*) ).
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 DROP TABLE #TableTemporaireNAx CREATE TABLE #TableTemporaireNAx ( [STATION]char(100), [IDStation]int, [LAmax]float, [Nombre] float ) INSERT INTO #TableTemporaireNAx(STATION, IDStation, LAmax, Nombre) SELECT dbo.station.nom_station, fab.couplage.IDSTATION, round(fab.Couplage.Max_Level,0), count(*) FROM dbo.Evenement INNER JOIN fab.Couplage ON dbo.Evenement.IDEVENT = fab.Couplage.IDEVENT INNER JOIN fab.TrajsDEPLB ON fab.Couplage.IDTRAJDEPLB = fab.TrajsDEPLB.IDTRAJDEPLB inner join dbo.station ON dbo.Station.IDSTATION = fab.Couplage.IDSTATION WHERE fab.couplage.IDSTATION in (@station) AND fab.Couplage.MultiVols = 1 AND fab.Couplage.MultiEvents = 1 AND fab.Couplage.Start_Date_TU between @datebegin and @dateend and dbo.Evenement.Validation = 0 group by dbo.station.nom_station, fab.couplage.IDSTATION, round(fab.Couplage.Max_Level,0) order by IDSTATION, LAmax asc
Jusque là tout va bien, j'obtiens bien un tableau comme celui voulu mais dans le cas où un niveau LAmax n'a pas été mesuré sur la période donnée aucune valeur n'est affichée et j'ai un trou dans mon tableau. Ce que j'aimerais c'est avoir une suite de LAmax avec le nombre d'apparitions mais dans le cas ou aucune valeur n'a été mesurée, j'aimerais tout de même avoir le niveau LAmax marqué mais avec 0 dans la colonne nombre. Avez vous une idée de comment faire ça ?
Merci d'avance !
Partager