Hallo Community,
ich habe ein Problem mit einem aktuellen Projekt. Und zwar habe ich zwei Tabellen in folgendem Format.
Tabelle 1 (Zeitraum)
Anfangszeit; Endzeit; Artikelnummer
10:00 Uhr; 11:00 Uhr; 2222
11:01 Uhr; 11:30 Uhr; 4444
11:31 Uhr; 12:21 Uhr; 2222
12:22 Uhr; 15:00 Uhr; 5555
....
Tabelle 2 (minütlich neue Datensätze)
Zeit; Leistung
9:59 Uhr; 13
10:00 Uhr; 22
11:01 Uhr; 22.01
10:11 Uhr; 26
....
Ich würde jetzt gerne wissen, wie ich es schaffen kann, die Werte für den bestimmten Zeitraum für ein Artikel abzufragen (so wie unten formuliert). Die Leistungswerte werden immer addiert, sodass ich immer den ersten und letzten Wert der Zeitspanne ausgegeben haben müsste.
Anfangszeit, Endzeit, Artikel, Anfangswert, Endwert, Differenz
10:00 Uhr; 11:00 Uhr; 2222; 22; 26; 4
11:01 Uhr; 11:30 Uhr; 4444
11:31 Uhr; 12:21 Uhr; 2222
12:22 Uhr; 15:00 Uhr; 5555
DECLARE @Anfangszeit DATETIME DECLARE @Endzeit DATETIME DECLARE @Produktnummer INT DECLARE @Anfangswert FLOAT DECLARE @Endwert FLOAT SELECT @Anfangszeit = [Anfangszeit], @Endzeit = [Endzeit], @Produktnummer = [Produktnummer] FROM [dbo].[Produktlaufzeiten]; SELECT @Anfangswert = Tabelle2 FROM DB2 WHERE [Timestamp] Between @Anfangszeit AND @Endzeit Order by Leistung DESC; SELECT @Endwert = Leistung FROM DB2 WHERE [Timestamp] Between @Anfangszeit AND @Endzeit; SELECT @Anfangszeit AS Anfangszeit, @Endzeit AS Endzeit, @Produktnummer AS Produktnummer, @Anfangswert AS Anfagswert, @Endwert AS Endwert, @Endwert - @Anfangswert AS Differenz;
DECLARE @myDate1 DATETIME DECLARE @myDate2 DATETIME SET @myDATE1 = '2015-10-05T10:00:00.150' SET @myDATE2 = '2015-10-05T09:57:00.151' DECLARE @TEST int SELECT @TEST = [Produktnummer] FROM [dbo].[Produktlaufzeiten] WHERE [Anfangszeit] > '2015-10-05T09:56:00.149' AND [Endzeit] < '2015-10-05T10:01:00.151'; SELECT [Id],[Timestamp] , LeisutngwWERT,[Produktion],@TEST FROM DB2,[dbo].[Produktlaufzeiten] WHERE [Timestamp] Between @myDate2 AND @myDate1;
Hoffe sehr auf eure Hilfe.