Announcement

Collapse
No announcement yet.

datetime Spalte

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • datetime Spalte

    Hallo,

    habe unter mssql eine tabelle "zeitabrechnung"
    nun ist das eine datetime spalte.

    in der regel habe ich dann verschiedene einträge immer ein zeitpaar. in der früh und am abend. jetzt weiß ich aber nicht, wie ich es bewerkstelligen kann, eine view auszugeben, welche folgendes macht:

    jeden tag getrennt ausgeben und die differenz der beiden zeiten anzeigen. zusätzlich ein standardwert, wenn es keine zeitpaare gibt.
    wenn es dazwischen noch zeiten gibt, dann werden diese ignoriert...

    bsp:
    name | datetime
    markus | 06.12.2007 08:30:00
    markus | 06.12.2007 08:31:00
    markus | 06.12.2007 18:00:00

    ergebnis: markus | 06.12.2007 | 9,5 Stunden

    ich habe momentan keine idee, wie ich das bewerkstelligen könnte.
    ich würde mal so beginnen, dass ich mir den besagten namen herausfiltere.
    das ist ja noch nicht schwer... aber wie selektiere ich alle tage vom letzten monat für die selektierte person?

    mein ansatz:

    Code:
    select * from zeitabrechnung where month(spaltedate)=(Month(GETDATE())-1) and name='markus'
    somit habe ich mal nur das letzt monat der person selektiert...

    aber was kann ich nun tun, dass ich jeden einzelnen tag als summe der anwesenheit berechnen kann?


    danke schon mal für eventuelle hinweise...

    lg

  • #2
    [highlight="sql"]
    Select
    name, (Max(spaltedate) - Min(spaltedate)) as zeit
    from
    zeitabrechnung
    where
    month(spaltedate)=(Month(GETDATE())-1) and name='markus'
    group by
    day( spaltendate), name;
    [/highlight]

    Comment


    • #3
      danke... so einfach kanns sein. ich bin ein wenig im kreis gelaufen...

      Comment


      • #4
        hi,

        komischerweise ist die zeit folgendermaßen ausgegeben:

        1900-01-01 00:03:42.000

        Wie bekomme ich das auf eine sinnvolle Stunden Angabe?

        Comment

        Working...
        X