Bitte helfen Sie!LKW-Status in 15-Minuten-Intervallen aka Statusänderungen aka Verwendung
Wir versuchen, in 15-Minuten-Intervallen ein genaues Bild des Status aller unserer LKWs zu erhalten. Ich kann die Statusänderungen durchführen, die alle 15 Minuten vorkamen, aber ein wenig ratlos, wenn es darum geht, zu zählen, was sie in einem vorherigen Intervall waren, wenn sie für ein paar Stunden keine Änderungen vorgenommen haben und das wiederholen Veränderung. es gibt 142 LKWs, also werde ich idealerweise 142 Reihen pro 15 Minuten Intervall bekommen
alle Zeiger/Lösungen würden sehr geschätzt werden.
Ich denke, die Abfrage muss zurückblicken und vorherige Statusänderung finden, dann füllen alle 15 Minuten Intervall mit diesem bis zum nächsten.
SELECT top 1000
RM.RESOURCE_CALLSIGN
,RM.MESSAGE_DATE
,DATEADD(MINUTE, ROUND(DATEDIFF(MINUTE, 0, MESSAGE_DATE)/15.0, 0) * 15, 0) [Interval]
,[MESSAGE]
,RM.STATUS_WAS
,RM.STATUS_BECAME
FROM [MOBILISATIONS].[dbo].[RESOURCE_MESSAGE] RM
where RESOURCE_CALLSIGN like '_____' and MESSAGE like '%status change%'
das ist das Stück Code, den ich seit einem bestimmten Zeitpunkt eine Tabelle mit jeweils 15-Minuten-Intervall machen gefunden:
declare @timetbl table(t datetime)
declare @t datetime
set @t = '2017-01-01 00:00:00'
while @t <= getdate()
begin
insert into @timetbl values (@t)
set @t = dateadd(mi, 15, @t)
end
select * from @timetbl
Das ist großartig, wirklich zu schätzen wissen. Wie kommst du auf die nächste Ebene und bekommst 142 LKW-Status pro Intervall? d.h., wenn ein Lastwagen den Status 3 um 13 Uhr annimmt, sollte er für so viele Intervalle, wie es dauert, bis er den Status 4 erreicht, den Status 3 behalten. –
@ApolloGerolymbos. . . Ihre Frage scheint sehr breit zu sein. Es ist unklar, welcher Teil das eigentliche Problem ist. Diese Antwort adressiert, was ich für das Hauptproblem hielt. –
Danke für das Zurückkommen. Eine Kombination aus deiner früheren Hilfe und Google und ich habe es geknackt. Ich habe jetzt den Status jedes LKWs im 15-Minuten-Intervall, auch wenn sie keine Änderung vorgenommen haben, d. H. Die Abfrage schaut zurück und findet die vorherige Änderung. Wenn Sie den Code möchten, lassen Sie es mich wissen, aber es ist zu lang für diesen Kommentar! –