2016-08-30 8 views
0

従業員の開始時間と終了時間を持つルックアップテーブルがあるため、クライアントに応答するのにかかる時間と同じ応答時間を示すレポートを作成する必要があります。私は8h00の開始時間と17h00の終了時間を持っている、それはこの時間の間に誰かが利用可能ですが、クエリが17h30で来たと仮定されているそれはそれに参加する人が8h00で翌日利用可能になることを意味します。私は応答時間を得ようとしており、誰も利用できなかった時間を除外し、週末を除外すべきである。SQL Server 2012で非勤務時間を取得する方法

以下

はサンプルデータです:

enter image description here

支持部材は、クエリに対応するために2日以上かかる場合だから私の問題が来る、それは金曜日に来て、彼らは週末に利用できないと仮定すると、誰も利用できなかった20:28のid33のように、15:28に来たid22のように、それに出席するのに自由だった誰もなかったので、次の日に出席した。おそらく、シフトや問題のログ時間が日時もちろん

case 
when datepart(HH, LogTime) < datepart(HH,StartTime) then convert(date, LogTime) + convert(time,StartTime) 
when datepart(HH, Logtime) >= datepart(HH,EndTime) then convert(date, dateadd(dd,1,LogTime)) + convert(time,StartTime) 
else LogTime 
end as DateTimeStart 

として格納されていると仮定すると、単純なケース

でこれを解決することができ

+2

質問を編集して、サンプルデータと希望の結果を提供してください。 –

+0

応答時間はどういう意味ですか?クエリに応答するのにどれくらいかかりましたか?クエリが入ったときと答えられたときに時間を節約できましたか?具体的には、あなたのテーブル(ER図)と予想されるインとアウトプットに関する詳細を含めてください。 –

+0

「応答」時間を得るためには、開始時刻と終了時刻以外のものを追跡する必要があります。この「応答」時間を得るために使用している残りのフィールドは何ですか? –

答えて

0

、これは等の週末、を考慮していますが、あなたのことができこれらをかなり簡単に追加してください。

関連する問題