-1

ID、employeeid、workdate、taskid、hours、entrydate、entrybyなどの従業員の詳細を含むテーブルがあります

もう 1 つのテーブルには、名、姓、メール ID、パスワードなどのユーザーに関する基本情報があります。

ここで、ユーザー名と従業員の平日と総労働時間を表示するクロス集計クエリを作成したいと考えています。まず、これに一時テーブルを使用することを考えていましたが、失敗したので、曜日ごとにこのようなものを使用します

select distinct employeeid ,sum(hours) as TotalHours ,'MONDAY' as Day into #Monday from Project_TimeSheet where  year(entrydate)='2014' and month(entrydate)='12' and datename(dw,entrydate)='MONDAY' group by employeeid

しかし、私にとってこれはうまくいきません。誰でも、ピボットを使用してこのクエリを教えてください。このような結果が必要ですここに画像の説明を入力

4

3 に答える 3

1
SELECT employeeid,
SUM(CASE WHEN datename(dw,entrydate)='MONDAY' THEN hours END) as Monday,
SUM(CASE WHEN datename(dw,entrydate)='TUESDAY' THEN hours END) as Tuesday,
.....,
sum(hours) as TotalHours
FROM Project_TimeSheet
WHERE  year(entrydate)='2014' and month(entrydate)='12'
GROUP BY employeeid
WITH ROLLUP
于 2014-12-08T12:36:54.353 に答える