Hallo zusammen,
bei mir vor der Tür stürmt's grad mächtig und ich brüte über einem Problem ...
habe hier eine Datenbank wo sich drin eine Tabelle befindet:
Messung,MesswertA,MesswertB,MesswertC,MesswertD,MesswertE,...
[(numeric(19,0),numeric(10,2),numeric(10,2),numeric(10,2),numeric(10,2),numeric(10,2)]
welches Feld der PK ist brauch ich sicher nicht weiter zu erklären
da kommen täglich hunderte neue Meßwerte (=Messungen) hinzu
von denen sind einige gültig andere ungültig
jetzt wird sicher einem Spezi unter euch der Spruch auf den Lippenliegen: Definiere gültig und ungültig :-)
ja, tu ich ja, nich so hastig :-)
ungültig heißt, es liegen zuviele Ergebnisse in zu engem Rahmen bzw. der Unterschied zwischen den Werten global oder in abgesteckten Rahmen ist irgendwie konstant. Gleiche (identische) Meßwerte können praktisch und theoretisch nicht auftreten.
Ich suche jetzt nach einem Algorithmus welcher mir a) entweder alle ungültigen Meßreihen rauswirft oder b) alle gültigen ausgibt. Ich möchte dabei angeben, wie hoch die Minimum-Differenz sein muß und die jeweiligen Rahmengrenzen in numerischer Form. Beispiel:
in einem Rahmen 100 -(=bis) 1000 dürfen nur max. 3 Messwerte liegen, welche aber mindestens jeweils 20 Punkte auseinander sein müssen ... usw.
Ich hoffe, das ist verständlich formuliert :-)
Kann ich dies allein in SQL lösen oder benötige ich einen Zusatz wie PHP oder C++. PL/SQL stünde auch zur Verfügung. Wichtig ist, daß die Operation dauerhaft serverseitig laufen soll und die Ergebnisse als XML Ausgaben via Webserver bereitstellen soll.
Hab momentan 0 Schimmer wo ich überhaupt anfangen soll und hoffe mal auf die gesammelte Geisteskraft des Forums, mir irgendwie auf die Sprünge zu helfen.
Hatte schon versucht, die Tabelle zu traversieren:
Messung_ID |Meßwert
-------------|--------
100001 |103,87
100001 |112,01
100001 |112,16
....
100002 |104,12
100002 |116,92
100002 |123,55
....
Aber auch da komme ich nicht weiter bzw. weiß nicht ob mir das etwas nutzt.
Würde mich riesig freuen, wenn mich jemand helfen könnte.
byebye - JV
P.S. Die Meßwerte sind immer aufsteigend bereits in der DB Tabelle gespeichert --- MeßwertA = kleinster Wert ....