以Case…When…Then…End分列輸出

來源:互聯網
上載者:User
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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.