Patrick.Karre Geschrieben 20. Oktober 2005 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
Monty82 Geschrieben 21. Oktober 2005 Geschrieben 21. Oktober 2005 ...und in welchem Format hättest Du gerne den Zeitraum?
Schiller256 Geschrieben 21. Oktober 2005 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.
Patrick.Karre Geschrieben 21. Oktober 2005 Autor 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
Schiller256 Geschrieben 21. Oktober 2005 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.
Patrick.Karre Geschrieben 21. Oktober 2005 Autor 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?
Schiller256 Geschrieben 21. Oktober 2005 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.
Patrick.Karre Geschrieben 23. Oktober 2005 Autor 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden