當前位置:編程學習大全網 - 源碼下載 - Sql考勤系統源代碼

Sql考勤系統源代碼

用Pb作為(-日班的上班時間秒和下班時間秒。

選擇作業id,

(案例d1當10然後8當-10然後20當8然後8 else 0 end)*3600 sb1,

(案例d1當10然後20當-10然後32當8然後17 else 64 end)* 3600 XB 1,

-...

(case d31當10然後8當-10然後20當8然後8 else 0 end)*3600 sb31,

(case d31當10然後20當-10然後32當8然後17 else 64 end)* 3600 XB 31

),

kq1 as(

select用戶標識id,檢查時間聯系類型,檢查類型類型,行編號()over(按檢查時間排序)rn

來自c

),

Kq2As(-妳必須保證有上班的人並且當天上班的人只有1,否則妳要重新上班。

Select t1.id,day (t1.checktime) DD,-什麽日期?

DateDiff (SS,CAST (Convert (CHAR (10),T1。CT,120)作為日期時間,T1。CT) sb,-工作秒。

DateDiff (SS,CAST (convert (CHAR (10),T1。CT,120)表示為日期時間t2。CT)XB-下班後幾秒鐘。

從kq1 t1在t1.id=t2.id和t1.rn=t2.rn+1上連接kq1 t2

其中t1.type='I '

),

kq as(

選擇id,

max(DD = 1然後sb端的情況)sb1,max(DD = 1然後xb端的情況)xb1,

-...

max(DD = 31然後sb端的情況)sb2,max(DD = 31然後xb端的情況)xb31,

來自kq2

按id分組

)

選擇ui.userid,ui.name,

kq . sb 1 & lt;=pb.sb1然後'準時'否則'不準時'結束sb1,

kq . XB 1 & gt;=pb.xb1然後'準時'否則'不準時'結束xb1,

-...

kq . sb 31 & lt;=pb.sb31然後'準時'否則'不準時' end sb31,

kq.xb31 >時的情況;=pb.xb31然後“準時”否則“不準時”結束xb31

從userinfo ui在ui上左連接Pb . userid = Pb . id

ui.userid=kq.id上的左連接kq

大致如此,什麽都沒發生。了解之後根據自己的需求去改變。

  • 上一篇:網吧路由的壹點問題!各位高手幫忙{{懂ROS軟路由的進}}
  • 下一篇:通達信可用的 當壹只股票到達壹個波段的最低點出現符號提示,如何編寫
  • copyright 2024編程學習大全網