1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Differenzen ermitteln

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von godxy, 8 Juli 2010.

  1. godxy

    godxy Neuer Benutzer

    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
     

Diese Seite empfehlen