2017-07-10 1 views
1

午後すべてグループ化またはT-SQLでピボット私は助けが必要ないずれかの方法

は、[OK]をここでは、スタッフのためのタスクの概要を構築しようとして は、私が持っているものです:私は

を見たいと思って何

SELECT CONCAT (Mpl.FName,' ',Mpl.SName) AS 'Name', 
Ctt.TaskName AS 'Task', 
Cts.Pickset, 
SUM(omo.Qty) 'Total of tasks', 
COUNT(Cts.TaskStart) 'Number of Tasks', 
CAST(SUM(DATEADD(SECOND, DATEDIFF(SECOND, Cts.TaskStart, Cts.TaskEnd), 0)) AS TIME) AS 'Total Task Time' 
FROM CHDS_Management.dbo.People Mpl 
LEFT JOIN CHDS_Common.dbo.TaskScan Cts ON Cts.EmpID = Mpl.EmpNo 
LEFT JOIN CHDS_Common.dbo.TaskType Ctt ON Ctt.TaskShort = Cts.Task 
LEFT JOIN (SELECT picksetno, MAX(PicksetLineNo) AS 'Qty' FROM CHDS_Common.dbo.OMOrder GROUP BY PicksetNo) omo ON omo.PicksetNo = Cts.Pickset 
WHERE Cts.TaskStart >= '2017-06-01 06:00:00' 
AND Cts.TaskEnd <= '2017-06-23 02:00:00' 
GROUP BY CONCAT (Mpl.FName,' ',Mpl.SName), 
ctt.TaskName, 
Cts.Pickse 

私はドリルを降りカント

> Justin Greenwood 
    > Pick 00:01:03 
     > 123456 20/06/2017 13:45:45 20/06/2017 13:46:12 00:00:27 
     > 123457 20/06/2017 13:47:14 20/06/2017 13:47:24 00:00:10 
     > 123458 21/06/2017 15:17:25 21/06/2017 15:17:53 00:00:28 
    > Systems 00:00:12 
     > Systems 20/06/2017 13:45:05 20/06/2017 13:45:17 00:00:12 

場合でも、私は

Justin Pick 100(totel of the 3 tasks) 00:01:03 (time taken for all 3 tasks 
Justin Systems 0       00:00:12 
のようなものを取得したいと思い

答えて

1

あなたが望む最初の結果を得るには、何らかのタイプの報告システムが必要です.SQLはそのように機能しません。ここには2番目のような結果があります。私はあなたが「3つのタスクの合計」のために合計しているか分からないので、より詳細な答えを得るために詳細を提供する必要があります。

SELECT CONCAT (
     Mpl.FName 
     ,' ' 
     ,Mpl.SName 
     ) AS 'Name' 
    ,Ctt.TaskName AS 'Task' 
    ,Cts.Pickset 
    ,SUM(/*whatever you are totaling*/) 'Total of tasks' 
    ,COUNT(Cts.TaskStart) 'Number of Tasks' 
    ,convert(varchar(8), dateadd(second, SUM(DATEDIFF(SECOND, Cts.TaskStart, Cts.TaskEnd)), 0), 108) AS 'Total Task Time' 
FROM CHDS_Management.dbo.People Mpl 
LEFT JOIN CHDS_Common.dbo.TaskScan Cts ON Cts.EmpID = Mpl.EmpNo 
LEFT JOIN CHDS_Common.dbo.TaskType Ctt ON Ctt.TaskShort = Cts.Task 
WHERE Cts.TaskStart >= '2017-06-01 06:00:00' 
    AND Cts.TaskEnd <= '2017-06-23 02:00:00' 
GROUP BY CONCAT (
     Mpl.FName 
     ,' ' 
     ,Mpl.SName 
     ) 
    ,ctt.TaskName 
    ,Cts.Pickset 
+0

おかげで私はそのビットに取り組んでいますように私は、合計行を削除した後、私はまだこのエラーが出る: 1つのオペランドのデータ型の時間は、和演算子には無効です。 –

+0

おっと。今はいいですか? – justiceorjustus

+0

まだ他の行も追加しました: –

関連する問題