1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, 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
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden