Bonjour à tous,
Tout d'abord je tiens à dire que mon expérience en MSSQL est très très scolaire.
Voici ma problématique :
J'ai deux tables différentes qui sont alimentées continuellement par un système.
#1 : La première table va enregistrer les informations de mesure, par exemple des températures.
#2 : La seconde table va enregistrer les évènements, par exemple les défauts de température haute.
Je souhaite pouvoir relever les valeurs de la température X de la table #1 dans le cas où il y a un défaut de cette température X sur la table #2.
Le premier problème est que ces tables ne sont pas liées, même pas par la colonne [chrono].
Le second problème est que les informations de la table #2 sont ponctuels : il y aura à un instant T "défaut présent" et à un instant T+1 "défaut disparu".
Voici ma requête actuelle :
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 SELECT DISTINCT T1.[TS], T1.[Name], T1.[Value], T2.TS, T2.Nature, T2.Description FROM [MaBase].[dbo].[Table1] AS T1 FULL JOIN [MaBase].[dbo].[Table2] AS T2 ON T1.Quality = T2.Quality WHERE YEAR(T2.TS) = YEAR(GETDATE()) AND MONTH(T2.TS) = MONTH(GETDATE()) AND DAY(T2.TS) = DAY(GETDATE()) AND T1.Name = 'Variable temperature 1234' AND T2.Nature = 'Temperature 1234' AND (T2.Description = 'Defaut temperature tres haute' OR T2.Description = 'Defaut temperature tres basse') ORDER BY T1.TS
Avez-vous une méthode pour parvenir à mes fins?
Partager