Re: [SQL ] 員工每月請假資料統計

看板Database作者 (rock)時間8年前 (2016/04/07 11:53), 編輯推噓3(302)
留言5則, 5人參與, 最新討論串2/3 (看更多)
※ 引述《oherman (qq)》之銘言: : 資料庫名稱:SQL SERVER : 資料庫版本:: 2012 : 內容/問題描述: : 各位好 : 我有個員工每月請假資料裡面存放的資料如下: : employe date(varchar) off_hour(int) : ============================================= : 張三 2016/01/02 8 : 張三 2016/01/10 8 : 李四 2016/01/03 4 : 李四 2016/01/04 2 : 李四 2016/01/26 8 : 王五 2016/01/02 2 : 王五 2016/01/16 1 : 王五 2016/01/25 8 : 想要依週曆產生如下資料(查詢一月份2016/01/01~2016/01/30資料) : employe 第一週 第二週 第三週 第四週 : ================================================================== : 張三 8 8 0 0 : 李四 6 0 0 8 : 王五 2 0 1 8 : 我可以不用procedure及function統計出像如上的資料表嗎?謝謝! 我的請假日期是直接用日期型態,不是用varchar型態 因此如果您是用varchar則請記得轉型 select employee ,isnull([1],0) as '第一週' ,isnull([2],0) as '第二週' ,isnull([3],0) as '第三週' ,isnull([4],0) as '第四週' ,isnull([5],0) as '第五週' from (select employee ,DATEPART(ww,RestDate) as [Week] ,sum(off_hour) as [off_hours] from resttb group by employee,DATEPART(ww,RestDate) ) p PIVOT ( sum ([off_hours]) FOR [Week] IN ( [1], [2], [3], [4], [5] ) ) AS pvt order by employee desc; 執行結果 http://imgur.com/NYhhcGl
-- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.136.240.135 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1460001223.A.D1D.html

04/07 11:55, , 1F
一月週數有六周,我少寫一個 >_<
04/07 11:55, 1F

04/07 15:38, , 2F
推推
04/07 15:38, 2F

04/07 15:45, , 3F
謝謝,學到很多新用法
04/07 15:45, 3F

04/07 19:16, , 4F
04/07 19:16, 4F

04/10 03:09, , 5F
猛猛der
04/10 03:09, 5F
文章代碼(AID): #1N1Td7qT (Database)
文章代碼(AID): #1N1Td7qT (Database)