[英]Payroll breakdown by quarter sql query
我有一張看起來像這樣的桌子
EmployeeID | Name | Check Date | Check Num | Check Amount | Quarter
1 | Test | 01/21/2018 | 001231312 | 500 | 1
1 | Test | 03/01/2018 | 001233210 | 100 | 1
1 | Test | 05/01/2018 | 123213321 | 13 | 2
1 | Test | 08/01/2018 | 321909900 | 321 | 3
1 | Test | 12/01/2018 | 321000132 | 123 |4
我需要顯示以下輸出
EmployeeID | Name | 1st Quarter Date | 1st Quarter Check Num | 1st Quarter Check Amount | 2nd Quarter Date | 2nd Quarter Check Num | 2nd Quarter Check Amount | 3rd Quarter Date | 3rd Quarter Check Num | 3rd Quarter Check Amount | 4th Quarter Date | 4th Quarter Check Num | 4th Quarter Check Amount
我正在對此進行研究,並找到了有關使用 Pivot 的信息,但不清楚何時顯示詳細信息而不是某些列的聚合。
謝謝
在我看來,最簡單的方法是將 Datepart(QUARTER, Check Date) 與 case 語句結合使用。
例子:
Select EmployeeID
, Name
, CASE WHEN Datepart(QUARTER, CheckDate) = 1 Then 'Check Date' END AS '1st Quarter Date'
, CASE WHEN Datepart(QUARTER, CheckDate) = 1 Then 'Check Num' END AS '1st Quarter Check Num'
, CASE WHEN Datepart(QUARTER, CheckDate) = 1 Then 'Check Amount' END AS '1st Quarter Check Amount'
, CASE WHEN Datepart(QUARTER, CheckDate) = 2 Then 'Check Date' END AS '2nd Quarter Date'
, CASE WHEN Datepart(QUARTER, CheckDate) = 2 Then 'Check Num' END AS '2nd Quarter Check Num'
, CASE WHEN Datepart(QUARTER, CheckDate) = 2 Then 'Check Amount' END AS '2nd Quarter Check Amount'
, CASE WHEN Datepart(QUARTER, CheckDate) = 3 Then 'Check Date' END AS '3rd Quarter Date'
, CASE WHEN Datepart(QUARTER, CheckDate) = 3 Then 'Check Num' END AS '3rd Quarter Check Num'
, CASE WHEN Datepart(QUARTER, CheckDate) = 3 Then 'Check Amount' END AS '3rd Quarter Check Amount'
, CASE WHEN Datepart(QUARTER, CheckDate) = 4 Then 'Check Date' END AS '4th Quarter Date'
, CASE WHEN Datepart(QUARTER, CheckDate) = 4 Then 'Check Num' END AS '4th Quarter Check Num'
, CASE WHEN Datepart(QUARTER, CheckDate) = 4 Then 'Check Amount' END AS '4th Quarter Check Amount'
From YourTableName
我相信有更簡潔的方法可以做到這一點,我相信其他人會加入。另外,請不要在 Datepart 中使用相同的列名,我相信由於空格 (Datepart(季度,“檢查日期”)。
編輯:OP 添加了一些示例數據,並且由於有一個“季度”列,我們可以將 Case 語句更改為:
CASE WHEN QUARTER = 1 Then ....
CASE WHEN QUARTER = 2 Then ....
CASE WHEN QUARTER = 3 Then ....
CASE WHEN QUARTER = 4 Then ....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.