Differenzen ermitteln

godxy

Neuer Benutzer
Beiträge
1
hallo,
mir fehlt leider ein Lsg.-ansatz
ich hoffe ihr könnt sie mir geben.

Szenario:
Person kann sich am System an- und abmelden.
die Person kann sich auch zur selben zeit mehrmals anmelden.

Beispiel (---> = angemeldete zeit)
a ------------>
.......b ------>
............c ------------>
...................................d ------->

meine aktuelle Lsg. errechnet leider die summe aller Differenzen
zwischen an- und abmelden. also a+b+c+d = summe

Code:
SELECT (SUM(DATEDIFF(MINUTE,RUECK.taStartTerm,RUECK.taEndTerm))) 
from RUECK                                                                                     
where RUECK.Person = '"+dataPersonNummer+"'                                                                
and RUECK.LfdNr != '0'                 
and RUECK.Kenn = 'P'            
and RUECK.taStartTerm     
between (SELECT convert(char(10), DATEADD (mm, DATEDIFF (mm, 0, DATEADD (mm, 0, getdate ())), 0), 104))    
and (select convert(char(10), DATEADD(dd,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)), 104))

ich benötige neben meiner aktuellen Lsg. eine Variante
in der Überschneidungen nicht zusätzlich summiert werden
also x + d = summe

Beispiel:
|a ------------>..........|
|.......b ------>...........| = x
|..........c ------------>|

.........................................|d ------->|


ist so etwas überhaupt möglich zu errechnen?
danke schon einmal für die Lsg.-ansätze
 
Werbung:
Oben