0
我有兩個基本相同的查詢,除了一個正在計算一個月迄今的總和,另一個正在計算年迄今總和。我不希望每個員工都有兩個單獨的表格,而是希望每個員工在他們的姓名旁邊都有一個至今爲止的月份和年份至今的列。我試過工會和一些子查詢,但我仍然遇到麻煩。我看了很多資源,但沒有找到我可以使用的東西。SQL Server在同一查詢的不同日期執行相同的計算
--Query 1:
SELECT
A.EMPLOYEENUMBER AS 'Employee No.',
B.ENTITYNAME AS 'Employee Office',
B.NAME1 AS 'Employee Information',
SUM(A.NUMBEROF) AS 'Ent. Qty'
FROM prod.DAILYTIMESHEETLINE A
JOIN prod.EMPLOYEE B on A.EMPLOYEENUMBER = B.EMPLOYEENUMBER
WHERE A.THEDATE BETWEEN '2017.04.01' AND '2017.04.30'
GROUP BY A.EMPLOYEENUMBER, B.NAME1, B.ENTITYNAME
ORDER BY A.EMPLOYEENUMBER
--Query 2:
SELECT
A.EMPLOYEENUMBER AS 'Employee No.',
B.ENTITYNAME AS 'Employee Office',
B.NAME1 AS 'Employee Information',
SUM(A.NUMBEROF) AS 'Ent. Qty'
FROM prod.DAILYTIMESHEETLINE A
JOIN prod.EMPLOYEE B on A.EMPLOYEENUMBER = B.EMPLOYEENUMBER
WHERE A.THEDATE BETWEEN '2017.01.01' AND '2017.04.30'
GROUP BY A.EMPLOYEENUMBER, B.NAME1, B.ENTITYNAME
ORDER BY A.EMPLOYEENUMBER
使用A和B不是一個明確的將是dts和e。如果你還想按月分組,你應該添加類似datepart(mo,thedate)的東西。 – Chuck
SQL Server中日期/時間文字唯一真正安全的格式,至少datetime和smalldatetime是:YYYYMMDD和YYYY-MM-DDThh:mm:ss [.nnn] - [Bad習慣踢:錯誤處理日期/範圍查詢 - Aaron Bertrand](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/16/bad-habits-to-kick-mishandling-date-range- queries.aspx) – SqlZim
這太棒了 - 謝謝!我很感激幫助。 – Erin