Ich habe eine Tabelle von Daten, die ein bisschen wie folgt aussieht:Durchlaufen Daten in SQL
Name StartTime FinishTime Work
Bob 2010-08-03 08:00:00 2010-08-03 12:00:00 4
Bob 2010-08-03 13:00:00 2010-08-03 16:00:00 3
Pete 2010-08-04 08:00:00 2010-08-04 12:00:00 4
Mark 2010-08-04 10:00:00 2010-08-04 12:00:00 2
Keine dieser Datumsbereiche sollten immer überspannen über Mitternacht.
Ich möchte SQL schreiben, die mir die folgende Ausgabe, da ein Eingabestartdatum von 2010-08-02 und ein Endtermin 2010-08-05
Date Name TotalWork
2010-08-03 Bob 7
2010-08-03 Pete 3
2010-08-04 Pete 4
2010-08-04 Mark 2
ich leben könnte, geben wird und in Tatsächlich kann schließlich müssen alle Tage haben, die im Zusammenhang haben keine Arbeit auch in den dargestellten Ergebnissen dargestellt werden, vielleicht als eine Zeile wie folgt aus:
2010-08-05 NULL 0
ich nicht ganz sicher bin, wie durch Daten in SQL iterieren genauso wie ich es mit anderen Sprachen machen würde.
Um dies zu verdeutlichen, wird der Ausgang dieses Anschlusses letztendlich in eine Stacked Chart .Net-Steuerung gesteckt.
Könnte mir jemand einen Hinweis, einen Link zu einem Tutorial oder eine andere Hilfe geben? Sonst denke ich, dass ich tagelang damit herumhantieren werde!
Vielen Dank!
Jonathan
Ah ... das sieht wirklich gut aus, danke. Ich nehme es an, wenn ich die Parameter @SD und @ED verwenden möchte, unabhängig davon, ob ich die fehlenden Tage haben will, dann muss ich die temporäre Tabelle erstellen? – JonRed
@JonRed, Nein, wenn Sie die fehlenden Daten nicht möchten, dann verwenden Sie die erste SQL. In diesem Fall benötigen Sie weder die T-Sql-Variablen noch die temporäre Tabelle. Wenn Sie die fehlenden Daten benötigen, benötigen Sie die temporäre Tabelle und die T-Sql-Variablen sind erforderlich, um sie zu füllen. –
Wirklich guter Trick ... – Zafer