Patrick.Karre Geschrieben 20. Oktober 2005 Teilen Geschrieben 20. Oktober 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zirri Geschrieben 21. Oktober 2005 Teilen Geschrieben 21. Oktober 2005 was denn für ein rdbms ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 21. Oktober 2005 Teilen Geschrieben 21. Oktober 2005 ...und in welchem Format hättest Du gerne den Zeitraum? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 21. Oktober 2005 Teilen Geschrieben 21. Oktober 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 21. Oktober 2005 Autor Teilen Geschrieben 21. Oktober 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 21. Oktober 2005 Teilen Geschrieben 21. Oktober 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 21. Oktober 2005 Autor Teilen Geschrieben 21. Oktober 2005 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 21. Oktober 2005 Teilen Geschrieben 21. Oktober 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 23. Oktober 2005 Autor Teilen Geschrieben 23. Oktober 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.