私は小さな製造会社のCTOであり、明らかに非常に実践的なことを行っており、経験の浅い人々に時間を提供してくれる専門家に感謝しています。
SQL Serverのクエリを作成して、製造プロセスの各マシンの時間を集計しようとしています。
私が得る結果は次のようになります。
InvoiceID Min DateIn MachineName MachineID
17993 12 2012-09-28 Beam Saw 1
17993 26 2012-09-28 Beam Saw 1
17993 17 2012-10-02 Edge Banding 3
17993 21 2012-10-02 Skipper 4
17993 23 2012-10-03 Shipping 5
次の請求書など。
私のコード:
SELECT i.InvoiceID
,SUM(DATEPART(Minute,(wf.DateTimeOut - wf.DateTimeIn))) AS [Min]
,CAST(wf.DateTimeIn AS DATE) AS [DateIn]
,m.MachineName
,wf.MachineID
FROM Workflow wf
JOIN
InvoicesPerJobPeriod ipjp
ON
ipjp.Workflowid = wf.ID
JOIN Machines m
ON
m.MachineID = wf.MachineID
JOIN
Invoices i
ON ipjp.InvoiceID = i.InvoiceID
WHERE (i.InActive = '0')
GROUP BY i.InvoiceID, m.MachineName, wf.MachineID, wf.DateTimeIn
ORDER BY i.InvoiceID, wf.MachineID
グループ化でビームソーの複数のレコードが表示される理由がわかりません。理想的には、マシンごと、請求書ごとに1つのレコードが必要です。Datetimeinは通常同じ日になりますが、製造ステップが数日にわたる場合に備えて、表示する必要があります。その場合、1台のマシンに複数のレコードを用意するのが妥当です。
手伝ってくれてどうもありがとう。大変感謝しております。
崖