Hallo Zusammen,
ich habe ein Problem, das ich mit der Programmierung lösen kann. Ich glaube aber, dass es auch mit Oracle-Mitteln gehen soll. Nur kann ich das in Oracle nicht lösen. Vielleicht bringen mich erfahrene Oracle-Benutzer weiter ...
Also zum Problem:
ich habe folgende Tabelle
In der Tabelle sind für ca. 2000 Messgeräte die Messwerte für jede Stunde gespeichert.
Das Ziel:
Die Messwerte für die ausgewählte Messgeräte (die Zusammenstellung ändert sich ständig) mit bestimmten Faktoren multiplizieren und für jede Stunde aufsummieren.
Vorgehensweise:
1) Werte nach "Datetime" gruppieren, so dass man folgende Tabelle bekommt.
(Beispiel für zwei Messgeräte)
2) Alle Werte einzelner Spalten mit Faktoren gewichten ??????
zB '00001' mit 0.5 und '00002' mit 1.11115
3) mit SUM() aufsummieren
Hier ein Beispiel der SQL-Abfrage (ohne Gewichtung):
Wie kann man den Punkt Nr. 2 implementieren?
ich habe ein Problem, das ich mit der Programmierung lösen kann. Ich glaube aber, dass es auch mit Oracle-Mitteln gehen soll. Nur kann ich das in Oracle nicht lösen. Vielleicht bringen mich erfahrene Oracle-Benutzer weiter ...
Also zum Problem:
ich habe folgende Tabelle
Code:
_____________________________________________ messgeraet | datetime | wert _____________________________________________ 00001 | 01.01.2009 00:00:00 | 3.2 00001 | 01.01.2009 01:00:00 | 1.2 00001 | 01.01.2009 02:00:00 | -0.2 00001 | 01.01.2009 03:00:00 | -0.5 ..... 00001 | 01.01.2009 23:00:00 | 2.2 00002 | 01.01.2009 00:00:00 | 5.2 00002 | 01.01.2009 01:00:00 | -1.2 00002 | 01.01.2009 02:00:00 | 0.6 .... usw.
Das Ziel:
Die Messwerte für die ausgewählte Messgeräte (die Zusammenstellung ändert sich ständig) mit bestimmten Faktoren multiplizieren und für jede Stunde aufsummieren.
Vorgehensweise:
1) Werte nach "Datetime" gruppieren, so dass man folgende Tabelle bekommt.
(Beispiel für zwei Messgeräte)
Code:
__________________________________________________ Datetime | '00001' | '00002' __________________________________________________ 01.01.2009 00:00:00 | 3.2 | 2.2 01.01.2009 01:00:00 | 1.2 | -1.2 01.01.2009 02:00:00 | -0.2 | 0.6 .... 01.01.2009 23:00:00 | 2.2 | ...
zB '00001' mit 0.5 und '00002' mit 1.11115
3) mit SUM() aufsummieren
Hier ein Beispiel der SQL-Abfrage (ohne Gewichtung):
Code:
SELECT datetime, SUM(wert) FROM messgeraete WHERE messgeraet IN('00001', '00002') GROUP BY datetime ORDER BY datetime ASC
Wie kann man den Punkt Nr. 2 implementieren?
Comment