Veröffentlicht 20. Oktober 200519 j Hallo Forum, ich habe eine Tabelle in der es ein Feld gibt indem das Datum mit Uhrzeit abgespeichert wird. Weiterhin habe ich ein Feld indem durch eine ID (1 bzw. 2) festgelegt wird, ob jemand gekommen oder gegangen ist. Das klappt auch alles wunderbar. Jetzt möchte ich gerne den Zeitraum vom Eintreten bis zum Verlassen haben. Dies müsste ungefähr so aussehen: SELECT T1.Zeit1-T2.Zeit2 FROM TABELLE AS T1, TABELLE T2 WHERE T1.ID=1. Dadurch das in dem Zeitfeld Datum und Uhrzeit gespeichert werden, bekomme ich leider keine klaren Werte die Stimmen. Ist das Statement komplett falsch oder muss ich einfach eine anderen Weg nehmen? Danke im Vorraus Patrick
21. Oktober 200519 j Da du nicht angegebn hast welches DB System du verwendet kann ich nur ganz allgemein sagen. Es wäre doch eine möglichkeit das Datum/Uhrzeit in einen Timestamp umzuwandeln und dann von einander abziehen danach vielleicht wieder in ein Zeitformat zurück verwandeln und das sollte es gewesen sein.
21. Oktober 200519 j Autor Hallo Leute, sorry, hier sind die benötigten Informationen. Bei der Datenbank handelt es sich um eine MS-SQL-Datenbank 2000. Das Datums bzw. Zeitfeld wird ein wenig komplizierter: Das Feld Datum beinhaltet das Datum, das Feld Zeit beinhaltet ein Datum und eine Zeit (01.01.1900 hh:mm:ss). Das Datum im Feld Zeit hat keine Aussagekraft, macht aber die Sache komplizierter. Die Felder werden durch die verwendete Software vorgegeben. Es muss anhand vom Datum und Zeit die Zwischenzeit ermittelt werden von zwei Datensätzen. In der Tabelle gibt es x-Datensätze. Das Statement muss immer im Feld Eingang die ID 1 suchen und dann den nächsten Datensatz mit der ID 2. Ich hoffe das die Anforderung halbwegs klar rüberkommt ;-) Gruß aus Hanau Patrick
21. Oktober 200519 j Werden die Kommt und Geht Zeiten in ein und der selben Tabelle erfasst? Wenn ja dann musst du in FROM die Tabelle zweimal angeben. und die WHERE Klausel dementsprechend anpassen. Vielleicht gibst du mal noch einen Beispieldatensatz dann kann man das an dem genauer erklären.
21. Oktober 200519 j Autor Alle bewegungsdaten werden in einer Tabelle erfasst. Mein Hauptproblem ist das Zeitfeld. Ich weis nicht wie ich nur an die Zeit komme und das Datum einfach weg lassen kann. Wie sieht das in MS-SQL aus?
21. Oktober 200519 j Na in MySQL gibt es String Funktionen die wird MS SQL auch haben ich würde die Zeit aus dem Feld raus schneiden, dann mit dem Datum zusammenhängen in einen Timestamp wandeln und die Zeit berechnen dann eventuell wieder zurück in ein Zeitformat wandeln.
23. Oktober 200519 j Autor Hallo Leute, ich habe das Statement gerade fertiggestellt und es funktioniert sogar :bimei Hier das Statement zur Info: UPDATE tblAS0005_EX0010 SET B_Dauer=DateDiff(minute, (SELECT Top 1 B_Zeit FROM tblAS0005_EX0010 AS T2 WHERE T1.IdAddress=T2.IdAddress AND T1.B_Zeit>T2.B_Zeit AND T1.B_Datum=T2.B_Datum), T1.B_Zeit) FROM tblAS0005_EX0010 AS T1 WHERE T1.PACS_LastTerminalID=02 Danke nochmal für die Hilfe Lieben Gruß aus Hanau Patrick
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.