SELECT YSSKMJ.EmpNO, YSSKMJ.RdJCZT, YSSKMJ.SKTime
FROM YSSKMJ WHERE CONVERT(decimal(14, 0), YSSKMJ.SKTime)IN (SELECT MAX(CONVERT(decimal(14, 0), YSSKMJ.SKTime))
FROM YSSKMJ WHERE CONVERT(decimal(10, 0), YSSKMJ.EmpNo) <> 0000000848
GROUP BY CONVERT(decimal(10, 0), YSSKMJ.EmpNo))
执行结果如下:
我是按人员编号EmpNO进行分组的,结果出来好多组都是0000000848的记录,是我的语句有问题还是数据库出了问题?这个0000000848是某员工曾经的一卡通号码,丢失后办了新号码但是每当有人刷卡进出系统都会自动录入一个0000000848的记录。具体的几张表之间的逻辑关系如下:
//部门结构表:部门编号、部门名称、父级部门编号
CREATE TABLE [Dept] (
[DeptNo] integer, ‘部门编号
[DeptName] VarChar(30), ‘部门名称
[ParentNo] integer, ‘父级部门编号
PRIMARY KEY([DeptNo])
)
//员工表:
// 人员编号/序列号/卡号/维根号
// 是否发卡(已发0未发1待补2)、卡有效期、发卡状态(未发卡0已发卡1已注销2)、注销时间、IC卡类型(IC1/手机卡2)、
// 姓名、性别(男0女1)、所属部门编号、
// 职位名称、岗位级别
// 身份证号(15或18)、手机号码、联系电话、家庭住址、暂住地址
// 入职时间、离职时间、考勤开始时间
// 员工类别(在职/学生0、借调/教师1、实习2、离职3、访客4、其它5)、在职身份(正式0合同1临时2)
// 住宿类别(不住宿0、住宿1)
// 工种
// 考勤类别(不刷卡0、任意刷一次1、按班次时间点刷2、按实际刷3、按首末刷卡计4)
create table [Employee] (
[EmpNo] VarChar(20) not null, ‘人员编号
[CardXLH] VarChar(10) NULL, ‘卡号
[CardKH] VarChar(10) NULL, ‘序列号
[CardBY] VarChar(10) NULL, ‘维根号
[IsSendCard] VarChar(1) NULL, ‘0-在职,1-离职
[CardValidTime] VarChar(14) NULL, ‘卡有效期
[IsCardZX] VarChar(1) NULL, ‘发卡状态, 未发卡0已发卡1已注销2
[IsCardZXTime] VarChar(14) NULL, ‘注销时间
[XM] VarChar(20) NULL, ‘姓名
[XB] Varchar(1) NULL, ‘性别(男0女1)
[DeptNo] integer, ‘所属部门编号
[ZWName] VarChar(40) NULL, ‘职位名称
[ZWLevel] VarChar(10) NULL, ‘岗位级别
[SFZ] Varchar(18) NULL, ‘身份证号(15或18)
[MobilNum] Varchar(15) NULL, ‘手机号码
[LXDH] VarChar(50) NULL, ‘联系电话
[JTZZ] VarChar(50) NULL, ‘家庭住址
[ZZDZ] VarChar(50) NULL, ‘暂住地址
[RZSJ] VarChar(8) NULL, ‘入职时间
[LZSJ] Varchar(8) NULL, ‘离职时间
[KQKSSJ] VarChar(8) NULL, ‘考勤开始时间
[YGLB] VarChar(1) NULL, ‘员工类别(在职/学生0、借调/教师1、实习2、离职3、访客4、其它5)
[YGGZ] VarChar(20) NULL,
[ZZSF] integer default 0, ‘在职身份(正式0合同1临时2)
[ZSLB] integer default 0, ‘住宿类别(不住宿0、住宿1)
[KQLB] Varchar(1) NULL, ‘考勤类别(不刷卡0、任意刷一次1、按班次时间点刷2、按实际刷3、按首末刷卡计4)
[Photo] image null,
primary key([EmpNo])
)
//门禁原始刷卡表:员工编号、卡号码、卡类型(卡号0序列号1变种号2)、采集时间、刷卡时间、门控机号、门号、区域号、
// 读头号、进出状态(无0进1出2)、并用业务、
// 通行方法-事件(未注册-1按钮2刷卡3刷卡/密码4编号/密码5
// 强制11超级密码13胁迫密码14非法闯入15 门磁开16门磁闭17门未关报警18强制锁门19火警20防盗21端子一信号25端子二信号26其它30)、
// 判断结果(无效1正常执行2拒绝3)
CREATE TABLE [YSSKMJ] (
[ID] int IDENTITY (1, 1) NOT NULL ,
[EmpNo] VarChar(20), ‘员工编号
[CardNo] VarChar(10), ‘卡号码
[CardType] VarChar(1), ‘卡类型(卡号0序列号1变种号2)
[GaTime] VarChar(14), ‘采集时间
[SKTime] VarChar(14), ‘刷卡时间
[Addr] VarChar(15),
[JH] VarChar(15),
[DoorNo] Integer, ‘门号
[AreaNo] Integer, ‘区域号
[RdH] VarChar(5), ‘读头号
[RdJCZT] VarChar(1), ‘进出状态(无0进1出2)
[RdSKBusi] VarChar(20), ‘并用业务
[TXType] VarChar(2), ‘通行方法-事件(未注册-1按钮2刷卡3刷卡密码4编号/密码5强制11超级密码13胁迫密码14非法闯入15 门磁开16门磁闭17门未关报警18强制锁门19火警20防盗21端子一信号25端子二信号26其它30)
[PDJG] VarChar(1), ‘判断结果(无效1正常执行2拒绝3)
[Photo] image null,
PRIMARY KEY([ID])
)