【发布时间】:2021-03-25 13:01:17
【问题描述】:
我有以下 4 列的 SQL 表。
表名:tblTimeTransaction
列:EmployeeNumber、TransactionDate、CodeType、TimeShowninSeconds
CodeType 的值分别为 REG、OT1、OT2、OT3
我希望它从 2020 年 1 月 1 日起使用 15 天增量使用数据透视表显示:
Employee Number | Effective Date | REG | OT1 | OT2 | OT3
E12345 | Between 10-1 till 10-15 | 200 | 100 | 50 | 45
E15000 | Between 10-1 till 10-15 | 400 | 600 | 903 | 49
E12345 | Between 10-15 till 10-31 | 200 | 100 | 50 | 45
E15000 | Between 10-15 till 10-31 | 400 | 600 | 903 | 49
E12346 | Between 11-1 till 11-15 | 4200 | 100 | 50 | 45
E15660 | Between 11-1 till 11-15 | 1200 | 600 | 6903 | 49
到目前为止我的 SQL 代码:
SELECT
Employee Number,
[TransactionDate] as [Effective Date],
[REG],
[OT1],
[OT2],
[OT3]
FROM
( SELECT Employee Number, TransactionDate, CodeType, TimeInSeconds
FROM [tblTimetransaction]
) ps
PIVOT
( SUM (TimeInSeconds)
FOR CodeType IN ( [REG], [OT1], [OT2], [OT3])
) AS pvt
where TransactionDate between '2020-01-01' and '2020-12-31'
【问题讨论】:
标签: sql sql-server datetime pivot date-arithmetic