INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

der zeitmäßig nächste Record in einer DB



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

16.01.2009, 15:04
Beitrag #1

gottfried Offline
LVF-Guru
*****


Beiträge: 1.735
Registriert seit: Mar 2007

2019
2004
EN

20**
Oesterreich
der zeitmäßig nächste Record in einer DB
Und noch eine Frage,

gegeben: eine Tabelle mit Messwerten und einem Zeitpunkt-Wert, also "16.1.2008 12:13:00" etc. So und jetzt komme ich mit einem völlig neuen Zeitpunkt (also nicht aus der Tabelle) und suche den am nächsten befindlichen Record.

Als Array könnte man "interpolate Array.vi" nehmen um daraus den nächsten zu ermitteln.

In der Datenbank fällt mir nichts anderes ein als eine Spalte einzuführen mit abs[Abstand zum jetzigen (neuen) Zeitpunkt] und dann danach zu sortieren und den kleinsten zu nehmen - ist vom Aufwand sicher .... schwach.

Oder ich pfeife auf die DB, kaufe mehr Memory und mache das als Array.

Bitte einen Denkanstoss

Gottfried

mein wöchentlicher (eigenwilliger) Beitrag zur Innovation
http://innovation1.wordpress.com/
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2009, 15:51
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
der zeitmäßig nächste Record in einer DB
Spontan fällt mir auch nichts besseres als das

' schrieb:In der Datenbank fällt mir nichts anderes ein als eine Spalte einzuführen mit abs[Abstand zum jetzigen (neuen) Zeitpunkt] und dann danach zu sortieren und den kleinsten zu nehmen - ist vom Aufwand sicher .... schwach.

ein. Eine Abfrage ob was in der Nähe liegt wüsste ich momentan auch nicht.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2009, 17:31
Beitrag #3

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
der zeitmäßig nächste Record in einer DB
' schrieb:Und noch eine Frage,

gegeben: eine Tabelle mit Messwerten und einem Zeitpunkt-Wert, also "16.1.2008 12:13:00" etc. So und jetzt komme ich mit einem völlig neuen Zeitpunkt (also nicht aus der Tabelle) und suche den am nächsten befindlichen Record.

Als Array könnte man "interpolate Array.vi" nehmen um daraus den nächsten zu ermitteln.

In der Datenbank fällt mir nichts anderes ein als eine Spalte einzuführen mit abs[Abstand zum jetzigen (neuen) Zeitpunkt] und dann danach zu sortieren und den kleinsten zu nehmen - ist vom Aufwand sicher .... schwach.

Oder ich pfeife auf die DB, kaufe mehr Memory und mache das als Array.

Bitte einen Denkanstoss

Gottfried
Alle Messwerte seit "Dein_Zeitstempel": (ich geh jetzt einfach mal davon aus, dass deine Spalte mit dem Timestamp "time_stamp" heist ...)

Code:
SELECT * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC

du willst nur 100 Messwerte haben?

Code:
SELECT TOP 100 * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC

du willst nur EINE Zeile:

Code:
SELECT TOP 1 * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC

geht alles mit SQLWink...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2009, 18:31
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
der zeitmäßig nächste Record in einer DB
Klar.... WallWallWall

Gruß Markus

' schrieb:Alle Messwerte seit "Dein_Zeitstempel": (ich geh jetzt einfach mal davon aus, dass deine Spalte mit dem Timestamp "time_stamp" heist ...)

Code:
SELECT * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC

du willst nur 100 Messwerte haben?

Code:
SELECT TOP 100 * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC

du willst nur EINE Zeile:

Code:
SELECT TOP 1 * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC

geht alles mit SQLWink...

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2009, 09:46
Beitrag #5

gottfried Offline
LVF-Guru
*****


Beiträge: 1.735
Registriert seit: Mar 2007

2019
2004
EN

20**
Oesterreich
der zeitmäßig nächste Record in einer DB
Genial

Danke

mein wöchentlicher (eigenwilliger) Beitrag zur Innovation
http://innovation1.wordpress.com/
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2009, 11:35
Beitrag #6

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
der zeitmäßig nächste Record in einer DB
' schrieb:Genial

Danke

Weil du noch einen anderen Thread dazu offen hast in dem es darum geht die Zeitstempel zu aktualisieren (in Pseudo-Code...):

Code:
UPDATE tbl_deinTabellenName SET deineZeitStempelSpalte = deineZeitStempelSpalte + ZeitUmDieGeändertWerdenSoll WHERE deineZeitstempelSpalte IS BETWEEN Startzeit AND Endzeit

--> manipuliert den Wert deiner Timestamp-Spalte um den Wert den du vorgibst bei allen Zeilen bei denen der aktuelle Wert zwischen Startzeit und Endzeit liegt ...

wobei du jetzt noch das Datums-Format für Access rausfinden musst, ich glaub das war irgendwas mit # und / und dann musst du noch rausfinden, was man addieren/subtrahieren kann (ob das Sekunden sind oder Bruchteile von Stunden oder so) da müsst ich nun selbst nachschaun und da bin ich grad zu faulWink

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.01.2009, 17:20
Beitrag #7

gottfried Offline
LVF-Guru
*****


Beiträge: 1.735
Registriert seit: Mar 2007

2019
2004
EN

20**
Oesterreich
der zeitmäßig nächste Record in einer DB
Sorry - so geht das leider nicht.

Nimm eine Tabelle und in (sagen wir) der ersten Spalte unregelmäßige Zeitpunkte als String - so, die muss ich umformatieren. Mit anderen Worten ich muss die Zeitpunkte einzeln (die ich nicht kenne) lesen, umformatieren und schreiben. Keine Info "wann" der nächst Zeitstring ist.... In der Tabelle gehe ich zur nächsten Zeile bis ich "unten" bin, aber in SQL...

Inzwischen habe ich - sorry völlig unelgant - mit einem Read Spreadsheet 350.000 Zeilen gelesen und bearbeitet ... na ja... keine Ruhmestat

Gottfried

mein wöchentlicher (eigenwilliger) Beitrag zur Innovation
http://innovation1.wordpress.com/
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Database Connectivity Toolkit record count-1 montanaro 7 6.339 18.03.2013 18:34
Letzter Beitrag: montanaro

Gehe zu: