sqlserver考勤表,考勤表记录
sql交叉表写法,出考勤报表
\--我写下我的思路吧--\
十多年的加查网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整加查建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“加查网站设计”,“加查网站推广”以来,每个客户项目都认真落实执行。
--先取工号姓名,如果考勤表.EMPLOYEEID=员工表.employeeID,则--\
select b.employeeno 工号,b.name 姓名 from atten a,employee b
where a.employeeid=b.employeeID --假设考勤表是atten--
--------------------------------------
\--行转列,将1号到30号,从IN_TEIM、OUT_TIME中获取
select
if (IN_TIME like '01.11%',RIGHT(IN_TIME,5),null) as '1号上班'
if (OUT_TIME like '01.11%',RIGHT(OUT_TIME,5),null) as '1号下班'
from ATTEN group by IN_TIME,OUT_TIME
--如何实现将多个数值写到一个字段中,还需要再研究下。大体思路就这这样。--\
做考勤表,求大神帮实现从原始数据中提取首次打卡和末次打卡时间
先分析,若直接在excel表里,实现你要的功能,若只用excel自带的函数的来处理会有难度。
我这边有另外的方法,将excel表导入到sqlserver数据库,本来excel里面有3个栏位。
可先用=B2" "C2符号将第二和第三栏位合并,若合并不了,可先设置两个栏位都为时间或者都为文本。因为sqlserver里面日期格式为2019-05-25 19:00:00。
上面操作完成后导入sqlserver,用sql语法检索出你需要的比如打卡号4的第一次时间
select min(打卡时间栏位名称) from 表名 where cardno=4 检索出来后复制 粘贴到excel表即可。
最后一次时间select max(打卡时间栏位名称) from 表名 where cardno=4
sqlserver查找有迟到人的全部出勤记录
select * from 出勤表
where personid in (select distinct personid from 出勤表 where 签到时间8点)
personid=人员ID,也可以是其他的标识列名,自己改
有两张表,员工表 (员工编号,员工姓名,员工性别)T(Tid,name,sex),考勤表(员工编号,迟到时间,迟
你的试题不会是老师的作业吧?
下面以SQLserver例子给你参考!
1 select t.nam from T,L where T.tid=L.tid and lc0 and L.la='2010-4-1' and L.la='2010-5-1'
2. select t.nam from T,L where T.tid=L.tid and lc0 group by t.id,T.name having count(*)1
3.select t.* from T join L on T.tid=L.tid where lc=0
4.update T set name='Jeke' where tid='00001'
5.select * from T where name like '%O%'
6.CREATE TRIGGER T_Del ON T AFTER DELETE as delete from L where tid in (select tid from deleted)
标题名称:sqlserver考勤表,考勤表记录
地址分享:http://scyanting.com/article/dssgcho.html