IT-例子 2023-10-26 11:59 采纳率: 0%
浏览 6

SQL server脚本打卡记录获取

上班打卡表数据:
id emp_code punch_in_time status
1 1 2023-10-24 17:11:18 迟到
2 2 2023-10-24 17:50:44 迟到
3 2 2023-10-25 08:31:11 迟到
4 2 2023-10-26 08:27:20 正常
5 2 2023-10-23 08:27:20 正常
下班打卡表数据:
id emp_code punch_out_time status
1 1 2023-10-24 17:49:24 早退
2 2 2023-10-24 17:51:01 早退
3 2 2023-10-24 17:51:03 早退
4 2 2023-10-25 18:06:44 正常
现在我需要在下面的这个sqlserver数据库SQL中获取到它对应当天上班打卡时间的最新一条下班打卡时间记录;我要如何修改这个SQL呢;现在我需要这个SQL查询就是找到当天上班打卡时间对应它当天下班打卡时间最大的数据如:上班打卡时间是2023-10-24 17:50:44,对应最大下班打卡时间:2023-10-24 17:51:03
需要展示的效果就是:
emp_code punch_in_time status punch_out_time status
2 2023-10-23 08:27:20 正常
1 2023-10-24 17:11:18 迟到 2023-10-24 17:49:24 早退
2 2023-10-24 17:50:44 迟到 2023-10-24 17:51:03 早退
2 2023-10-25 08:31:11 迟到 2023-10-25 18:06:44 正常
2 2023-10-26 08:27:20 正常
我的SQL server脚本应该如何编写

  • 写回答

2条回答 默认 最新

  • 0215荣 2023-10-26 14:58
    关注

    下面的语法可以实现 但是你下班日志表 id等于3和4 日期写入数据明显不对劲

    select * from (
    select a.id,
    a.emp_code,
           nvl(min(a.punch_in_time),'') 上班打卡时间,
          nvl( a.status,'') 上班情况,
            nvl(min(b.punch_out_time),'') 下班打卡时间,
             nvl( b.status,'') 下班情况
             
      from work_in a  left  join work_out  b on a.id = b.id
     group by a.emp_code, a.status, b.status,a.id)
     order by  上班打卡时间
    
    

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 10月26日

悬赏问题

  • ¥20 python爬虫遇到空文本取不出来
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入