SELECT 日期, 姓名, (CASE 出勤狀態 WHEN '白班' THEN '○' END) AS 白班, (CASE 出勤狀態 WHEN '夜班' THEN '○' END) AS 夜班, (CASE 出勤狀態 WHEN '休息' THEN '○' END) AS 休息, (CASE 出勤狀態 WHEN '調休' THEN '○' END) AS 調休, (CASE 出勤狀態 WHEN '病假' THEN '○' END) AS 病假, (CASE 出勤狀態 WHEN '事假' THEN '○' END) AS 事假, (CASE 出勤狀態 WHEN '遲到' THEN '○' END) AS 遲到, (CASE 出勤狀態 WHEN '早退' THEN '○' END) AS 早退, (CASE 出勤狀態 WHEN '曠工' THEN '○' END) AS 曠工, (CASE 出勤狀態 WHEN '其他' THEN '○' END) AS 其他, 部門, 社會安全號碼, id FROM dbo.人事_考勤表 WHERE (部門 = @部門) AND (日期 = @日期)
'按出勤狀態統計某部門每天的出勤資料
SELECT 日期, 部門,
count(CASE 出勤狀態 WHEN '白班' THEN '○' END) AS 白班,
count(CASE 出勤狀態 WHEN '夜班' THEN '○' END) AS 夜班,
count(CASE 出勤狀態 WHEN '休息' THEN '○' END) AS 休息,
count(CASE 出勤狀態 WHEN '調休' THEN '○' END) AS 調休,
count(CASE 出勤狀態 WHEN '病假' THEN '○' END) AS 病假,
count(CASE 出勤狀態 WHEN '事假' THEN '○' END) AS 事假,
count(CASE 出勤狀態 WHEN '遲到' THEN '○' END) AS 遲到,
count(CASE 出勤狀態 WHEN '早退' THEN '○' END) AS 早退,
count(CASE 出勤狀態 WHEN '曠工' THEN '○' END) AS 曠工,
count(CASE 出勤狀態 WHEN '其他' THEN '○' END) AS 其他
FROM dbo.人事_考勤表
where 部門='裝置工具科'
group by 日期,部門
order by 日期 desc
'按月統計各單位出勤狀態
SELECT STR(YEAR(日期)) + '-' + LTRIM(STR(MONTH(日期))) AS 日期, 部門, COUNT(CASE 出勤狀態 WHEN '白班' THEN '○' END) AS 白班,
COUNT(CASE 出勤狀態 WHEN '夜班' THEN '○' END) AS 夜班, COUNT(CASE 出勤狀態 WHEN '休息' THEN '○' END) AS 休息,
COUNT(CASE 出勤狀態 WHEN '調休' THEN '○' END) AS 調休, COUNT(CASE 出勤狀態 WHEN '病假' THEN '○' END) AS 病假,
COUNT(CASE 出勤狀態 WHEN '事假' THEN '○' END) AS 事假, COUNT(CASE 出勤狀態 WHEN '遲到' THEN '○' END) AS 遲到,
COUNT(CASE 出勤狀態 WHEN '早退' THEN '○' END) AS 早退, COUNT(CASE 出勤狀態 WHEN '曠工' THEN '○' END) AS 曠工,
COUNT(CASE 出勤狀態 WHEN '其他' THEN '○' END) AS 其他
FROM dbo.人事_考勤表
WHERE (部門 = @部門) AND (YEAR(日期) = YEAR(@日期))
GROUP BY STR(YEAR(日期)) + '-' + LTRIM(STR(MONTH(日期))), 部門
ORDER BY STR(YEAR(日期)) + '-' + LTRIM(STR(MONTH(日期))) DESC