Differenz Zeit auslesend und nach Usern sortieren

29/04/2008 - 15:55 von WolfgangD | Report spam
Hi,
ich habe folgendes Problem:
Wir nutzen ein Tool welches Timestamp für RC Session sammelt.
Tabelle RC sieht so aus :
RC_Action | EventTime | Username
1 | 23.02.2008 11:03:01 | Harri
2 | 23.02.2008 11:04:05 | Harri
1 | 23.04.2008 11:03:00 | Hans
2 | 23.04.2008 11:10:00 | Hans
...


Die Tabelle hat einige Tausen Spalten und da sind auch jede Menge
Usernamen drinnen (Historie der letzten 2 Jahre)
RC_Action 1 heißt das die RC aufgebaut wurde
RC_Action 2 heißt das die RC geschlossen wurde

Also in dem Beispiel würde es bedeuten das Harri 3:04 Minuten RC
gemacht hat und Hans 07:00


Nun hàtte ich gerne ein Skript das komplett die Tabelle durchsucht und
mir pro Usernamen die RC Tàtigkeit anzeiht.
Harri hat ja einige Mal zu unterschiedlich lang RC Session gehabt ,
das selbe für die anderen.

Aber ich denke ohne T-SQL geht das nicht . versuche da schon seit
Stunden dran aber leider nichts bisher.


Hat da jemand eine Idee wie man das machen kann ?



Viele Grüße
Wolfgang
 

Lesen sie die antworten

#1 Hannes Brunner
29/04/2008 - 16:16 | Warnen spam
Hallo Wolfgang,

WolfgangD schrieb:
Hi,
ich habe folgendes Problem:
Wir nutzen ein Tool welches Timestamp für RC Session sammelt.
Tabelle RC sieht so aus :
RC_Action | EventTime | Username
1 | 23.02.2008 11:03:01 | Harri
2 | 23.02.2008 11:04:05 | Harri
1 | 23.04.2008 11:03:00 | Hans
2 | 23.04.2008 11:10:00 | Hans
...

Die Tabelle hat einige Tausen Spalten und da sind auch jede Menge
Usernamen drinnen (Historie der letzten 2 Jahre)
RC_Action 1 heißt das die RC aufgebaut wurde
RC_Action 2 heißt das die RC geschlossen wurde

Also in dem Beispiel würde es bedeuten das Harri 3:04 Minuten RC
gemacht hat und Hans 07:00

Nun hàtte ich gerne ein Skript das komplett die Tabelle durchsucht und
mir pro Usernamen die RC Tàtigkeit anzeiht.
Harri hat ja einige Mal zu unterschiedlich lang RC Session gehabt ,
das selbe für die anderen.



es geht also darum die passenden Anfangs/Endzeiten zu ermitteln:

SELECT A.EventTime AS Anfang, A.Username,
(SELECT Min(B.EventTime)
FROM TabelleRC B
WHERE B.RC_Action = 2
AND B.Username = A.Username
AND B.EventTime > A.EventTime) AS Ende
FROM TabelleRC A
WHERE A.RC_Action = 1

Gruß
Hannes

Ähnliche fragen