unknownuserid
Grünschnabel
Hallo,
ich habe folgende Tabelle in einer SQLite-Datenbank und programmiere in C# und verwende System.Data.SQLite zum ansprechen der Datenbank
Index; Zeit; Messwert; SensorID; AufzeichnungsNummer
Integer; DateTime; Float; Integer; Integer
In dieser Tabelle werden Messwerte von Sensoren gespeichert. Die Zugehörigkeit zum Sensor ist über die SensorID und AufzeichnungsNummer immer gegeben.
Ich möchte nun dem Benutzer eine neue Tabelle anzeigen welche wie folgt aufgebaut ist:
Zeit; MesswertSensor1; MesswertSensor2
es kann nun sein, dass nicht für jeden Sensor zu jeder Zeit Messwerte existieren. folglich kann/hat die Tabelle Lücken (NULL-Werte)
Ich wollte über eine Dummy-Tabelle arbeiten und erzeuge mir zuerst mal die Tabelle mit den DateTime-Werten welche vorhanden sind, für 2 Sensoren z.B. so:
Das ergebnis pass dann auch, es sind keine Zeit-werte doppelt vorhanden. Mein Problem ist nun, ich wollte jetzt die Messwerte befüllen:
Nun habe ich das Problem, dass jetzt aber in allen Spalten für Messwert1 Daten stehen.
Wie kann ich einen Vergleich der Zeit aus dem Select-Statement von der Messwerttabelle mit der Dummy-Tabelle durchführen.
Oder bin ich gänzlich auf dem Holzweg und es gibt eine wesentlich einfachere Lösungsmöglichket?
Bisher sind in der Datenbank etwa 2Mio Messwerte gespeichert.
ich habe folgende Tabelle in einer SQLite-Datenbank und programmiere in C# und verwende System.Data.SQLite zum ansprechen der Datenbank
Index; Zeit; Messwert; SensorID; AufzeichnungsNummer
Integer; DateTime; Float; Integer; Integer
In dieser Tabelle werden Messwerte von Sensoren gespeichert. Die Zugehörigkeit zum Sensor ist über die SensorID und AufzeichnungsNummer immer gegeben.
Ich möchte nun dem Benutzer eine neue Tabelle anzeigen welche wie folgt aufgebaut ist:
Zeit; MesswertSensor1; MesswertSensor2
es kann nun sein, dass nicht für jeden Sensor zu jeder Zeit Messwerte existieren. folglich kann/hat die Tabelle Lücken (NULL-Werte)
Ich wollte über eine Dummy-Tabelle arbeiten und erzeuge mir zuerst mal die Tabelle mit den DateTime-Werten welche vorhanden sind, für 2 Sensoren z.B. so:
Code:
INSERT INTO DummyMesswerte (Zeit)
SELECT Zeit AS Zeitpunkt
FROM Messwerten MW1
WHERE MW1.ModulIndex = 0 AND MW1.Aufzeichnung = 1
OR WHERE MW1.ModulIndex = 1 AND MW1.Aufzeichnung = 1
Das ergebnis pass dann auch, es sind keine Zeit-werte doppelt vorhanden. Mein Problem ist nun, ich wollte jetzt die Messwerte befüllen:
Code:
UPDATE DummyMesswerte
MW1 =
(
SELECT FloatValue AS Messwert1
FROM Messwerten
WHERE Messwerten.ModulIndex = 0 AND Messwerten.Aufzeichnung = 1
AND DummyMesswerte.Zeit = Messwerten.Zeit
)
Nun habe ich das Problem, dass jetzt aber in allen Spalten für Messwert1 Daten stehen.
Wie kann ich einen Vergleich der Zeit aus dem Select-Statement von der Messwerttabelle mit der Dummy-Tabelle durchführen.
Oder bin ich gänzlich auf dem Holzweg und es gibt eine wesentlich einfachere Lösungsmöglichket?
Bisher sind in der Datenbank etwa 2Mio Messwerte gespeichert.