马克坡de卫幼南 level
获赞
0
粉丝
0
关注
0
看过 TA
6
山东第一医科大学
2022
数据运营
IP属地:江苏
暂未填写个人简介
私信
关注
WITH emp_info AS (SELECT emp_no, emp_name, emp_dept, class_id, class_noFROM AUSZDLMS.i_facs_employeeWHERE emp_dept LIKE 'MS01%'),ptms_info AS (SELECT emp_no,card_date,card_time,card_time AS F1_SJ,import_date,location_id,in_out,TO_TIMESTAMP(TO_CHAR(card_date, 'YYYY-MM-DD') || ' ' || card_time, 'YYYY-MM-DD HH24:MI:SS') AS card_timestamp  -- 将 card_time 转换为 24 小时制FROM AUSZDLMS.h_ata_recordWHERE card_date >= current_date - 1  -- 查询当天数据),ptms_combined AS (SELECT p.*,LAG(card_timestamp) OVER (PARTITION BY emp_no ORDER BY card_timestamp) AS prev_card_timestampFROM ptms_info pWHERE p.location_id NOT LIKE 'F1-3F%'AND p.location_id NOT LIKE 'F1-4F%'AND p.location_id NOT LIKE 'F2-3F%'AND p.location_id NOT LIKE 'F2-4F%')SELECT emp_info.emp_no,emp_info.emp_name,  -- 确认列名是否正确emp_info.emp_dept,emp_info.class_id,emp_info.class_no,ptms_combined.card_date,ptms_combined.card_time,ptms_combined.F1_SJ,ptms_combined.prev_card_timestamp,EXTRACT(EPOCH FROM (ptms_combined.card_timestamp - ptms_combined.prev_card_timestamp)) / 60 AS time_diff_minutes,ptms_combined.location_id,ptms_combined.in_outFROM ptms_combinedJOIN emp_info ON ptms_combined.emp_no = emp_info.emp_noWHERE ptms_combined.prev_card_timestamp IS NOT NULLAND EXTRACT(EPOCH FROM (ptms_combined.card_timestamp - ptms_combined.prev_card_timestamp)) / 60 > 30ORDER BY emp_info.emp_no, ptms_combined.card_date, ptms_combined.F1_SJ;
0 点赞 评论 收藏
分享
WITH emp_info AS (SELECT emp_no, emp_name_ch, emp_dept, class_id, class_noFROM AUSZDLMS.i_facs_employeeWHERE emp_dept LIKE 'MS01%'),ptms_info AS (SELECT emp_no,card_date,card_time,card_time AS F1_SJ,import_date,location_id,in_out,TO_TIMESTAMP(TO_CHAR(card_date, 'YYYY-MM-DD') || ' ' || card_time, 'YYYY-MM-DD HH24:MI:SS') AS card_timestamp  -- 将 card_time 转换为 24 小时制FROM AUSZDLMS.h_ata_recordWHERE card_date >= current_date - 1  -- 查询当天数据),ptms_combined AS (SELECT p.*,LAG(card_timestamp) OVER (PARTITION BY emp_no ORDER BY card_timestamp) AS prev_card_timestampFROM ptms_info pWHERE p.location_id NOT LIKE 'F1-3F%'AND p.location_id NOT LIKE 'F1-4F%'AND p.location_id NOT LIKE 'F2-3F%'AND p.location_id NOT LIKE 'F2-4F%')SELECT emp_no,emp_name_ch,emp_dept,class_id,class_no,card_date,card_time,F1_SJ,prev_card_timestamp,EXTRACT(EPOCH FROM (card_timestamp - prev_card_timestamp)) / 60 AS time_diff_minutes,location_id,in_outFROM ptms_combinedWHERE prev_card_timestamp IS NOT NULLAND EXTRACT(EPOCH FROM (card_timestamp - prev_card_timestamp)) / 60 > 30ORDER BY emp_no, card_date, F1_SJ;
0 点赞 评论 收藏
分享
WITH emp_info AS (SELECT emp_no, emp_name_ch, emp_dept, class_id, class_noFROM AUSZDLMS.i_facs_employeeWHERE emp_dept LIKE 'MS01%'),ptms_info AS (SELECT emp_no,card_date,card_time,card_time AS F1_SJ,import_date,location_id,in_out,CAST(card_date || ' ' || card_time AS timestamp) AS card_timestamp  -- 构建完整的timestampFROM AUSZDLMS.h_ata_recordWHERE card_date >= current_date - 1  -- 查询当天数据),ptms_combined AS (SELECT e.emp_no,e.emp_name_ch,e.emp_dept,e.class_id,e.class_no,p.card_date,p.card_time,p.F1_SJ,p.location_id,p.in_out,p.card_timestamp,LAG(p.card_timestamp) OVER (PARTITION BY e.emp_no ORDER BY p.card_timestamp) AS prev_card_timestampFROM emp_info eLEFT JOIN ptms_info p ON e.emp_no = p.emp_noWHERE p.card_time IS NOT NULLAND p.location_id NOT LIKE '%F1-1F%'AND p.location_id NOT LIKE '%F1-2F%'AND p.location_id NOT LIKE '%F1-3F%'AND p.location_id NOT LIKE '%F1-4F%'AND p.location_id NOT LIKE '%F2-3F%'AND p.location_id NOT LIKE '%F2-4F%')SELECT emp_no,emp_name_ch,emp_dept,class_id,class_no,card_date,card_time,F1_SJ,prev_card_timestamp,EXTRACT(EPOCH FROM (card_timestamp - prev_card_timestamp)) / 60 AS time_diff_minutes,location_id,in_outFROM ptms_combinedWHERE prev_card_timestamp IS NOT NULLAND EXTRACT(EPOCH FROM (card_timestamp - prev_card_timestamp)) / 60 > 30ORDER BY emp_no, card_date, F1_SJ;
0 点赞 评论 收藏
分享
WITH emp_info AS (SELECT emp_no, emp_name_ch, emp_dept, class_id, class_noFROM AUSZDLMS.i_facs_employeeWHERE emp_dept LIKE 'MS01%'),ptms_info AS (SELECT emp_no,card_date,card_time,card_time AS F1_SJ,import_date,location_id,in_outFROM AUSZDLMS.h_ata_recordWHERE card_date >= current_date - 1),ptms_combined AS (SELECT e.emp_no,e.emp_name_ch,e.emp_dept,e.class_id,e.class_no,p.card_date,p.card_time,p.F1_SJ,p.location_id,p.in_out,LAG(p.F1_SJ) OVER (PARTITION BY e.emp_no, p.card_date ORDER BY p.F1_SJ) AS prev_F1_SJFROM emp_info eLEFT JOIN ptms_info p ON e.emp_no = p.emp_noWHERE p.card_time IS NOT NULLAND p.location_id NOT LIKE '%F1-1F%'AND p.location_id NOT LIKE '%F1-2F%'AND p.location_id NOT LIKE '%F1-3F%'AND p.location_id NOT LIKE '%F1-4F%'AND p.location_id NOT LIKE '%F2-3F%'AND p.location_id NOT LIKE '%F2-4F%')SELECT emp_no,emp_name_ch,emp_dept,class_id,class_no,card_date,card_time,F1_SJ,prev_F1_SJ,EXTRACT(EPOCH FROM (CAST(F1_SJ AS timestamp) - CAST(prev_F1_SJ AS timestamp))) / 60 AS time_diff_minutes,location_id,in_outFROM ptms_combinedWHERE prev_F1_SJ IS NOT NULLAND EXTRACT(EPOCH FROM (CAST(F1_SJ AS timestamp) - CAST(prev_F1_SJ AS timestamp))) / 60 > 30ORDER BY emp_no, card_date, F1_SJ;
0 点赞 评论 收藏
分享
WITH emp_info AS (SELECT emp_no, emp_name_ch, emp_dept, class_id, class_noFROM AUSZDLMS.i_facs_employeeWHERE emp_dept LIKE 'MS01%'),ptms_info AS (SELECT emp_no,card_date,card_time,card_time AS F1_SJ,import_date,location_id,in_outFROM AUSZDLMS.h_ata_recordWHERE card_date >= current_date - 1),ptms_combined AS (SELECT e.emp_no,e.emp_name_ch,e.emp_dept,e.class_id,e.class_no,p.card_date,p.card_time,p.F1_SJ,p.location_id,p.in_out,LAG(p.F1_SJ) OVER (PARTITION BY e.emp_no, p.card_date ORDER BY p.F1_SJ) AS prev_F1_SJFROM emp_info eLEFT JOIN ptms_info p ON e.emp_no = p.emp_noWHERE p.card_time IS NOT NULLAND p.location_id NOT LIKE '%F1-1F%'AND p.location_id NOT LIKE '%F1-2F%'AND p.location_id NOT LIKE '%F1-3F%'AND p.location_id NOT LIKE '%F1-4F%'AND p.location_id NOT LIKE '%F2-3F%'AND p.location_id NOT LIKE '%F2-4F%')SELECT emp_no,emp_name_ch,emp_dept,class_id,class_no,card_date,card_time,F1_SJ,prev_F1_SJ,EXTRACT(EPOCH FROM (CAST(F1_SJ AS timestamp) - CAST(prev_F1_SJ AS timestamp))) / 60 AS time_diff_minutes,location_id,in_outFROM ptms_combinedWHERE prev_F1_SJ IS NOT NULLAND EXTRACT(EPOCH FROM (CAST(F1_SJ AS timestamp) - CAST(prev_F1_SJ AS timestamp))) / 60 > 30ORDER BY emp_no, card_date, F1_SJ;
0 点赞 评论 收藏
分享
WITH emp_info AS (SELECT emp_no, emp_name_ch, emp_dept, class_id, class_noFROM AUSZDLMS.i_facs_employeeWHERE emp_dept LIKE 'MS01%'),ptms_info AS (SELECT emp_no,card_date,card_time,card_time AS F1_SJ,import_date,location_id,in_outFROM AUSZDLMS.h_ata_recordWHERE card_date >= current_date - 1),ptms_combined AS (SELECT e.emp_no,e.emp_name_ch,e.emp_dept,e.class_id,e.class_no,p.card_date,p.card_time,p.F1_SJ,p.location_id,p.in_out,LAG(p.F1_SJ) OVER (PARTITION BY e.emp_no, p.card_date ORDER BY p.F1_SJ) AS prev_F1_SJFROM emp_info eLEFT JOIN ptms_info p ON e.emp_no = p.emp_noWHERE p.card_time IS NOT NULLAND p.location_id NOT LIKE '%F1-1F%'AND p.location_id NOT LIKE '%F1-2F%'AND p.location_id NOT LIKE '%F1-3F%'AND p.location_id NOT LIKE '%F1-4F%'AND p.location_id NOT LIKE '%F2-3F%'AND p.location_id NOT LIKE '%F2-4F%')SELECT emp_no,emp_name_ch,emp_dept,class_id,class_no,card_date,card_time,F1_SJ,prev_F1_SJ,EXTRACT(EPOCH FROM (CAST(F1_SJ AS timestamp) - CAST(prev_F1_SJ AS timestamp))) / 60 AS time_diff_minutes,location_id,in_outFROM ptms_combinedWHERE prev_F1_SJ IS NOT NULLAND EXTRACT(EPOCH FROM (CAST(F1_SJ AS timestamp) - CAST(prev_F1_SJ AS timestamp))) / 60 > 30ORDER BY emp_no, card_date, F1_SJ;
0 点赞 评论 收藏
分享
WITH emp_info AS (SELECT emp_no, emp_name_ch, emp_dept, class_id, class_noFROM AUSZDLMS.i_facs_employeeWHERE emp_dept LIKE 'MS01%'),ptms_info AS (SELECT emp_no,card_date,card_time,card_time AS F1_SJ,import_date,location_id,in_outFROM AUSZDLMS.h_ata_recordWHERE card_date >= current_date - 1),ptms_combined AS (SELECT e.emp_no,e.emp_name_ch,e.emp_dept,e.class_id,e.class_no,p.card_date,p.card_time,p.F1_SJ,p.location_id,p.in_out,LAG(p.F1_SJ) OVER (PARTITION BY e.emp_no, p.card_date ORDER BY p.F1_SJ) AS prev_F1_SJFROM emp_info eLEFT JOIN ptms_info p ON e.emp_no = p.emp_noWHERE p.card_time IS NOT NULLAND p.location_id NOT LIKE '%F1-1F%'AND p.location_id NOT LIKE '%F1-2F%'AND p.location_id NOT LIKE '%F1-3F%'AND p.location_id NOT LIKE '%F1-4F%'AND p.location_id NOT LIKE '%F2-3F%'AND p.location_id NOT LIKE '%F2-4F%')SELECT emp_no,emp_name_ch,emp_dept,class_id,class_no,card_date,card_time,F1_SJ,prev_F1_SJ,EXTRACT(EPOCH FROM (F1_SJ - prev_F1_SJ)) / 60 AS time_diff_minutes,location_id,in_outFROM ptms_combinedWHERE prev_F1_SJ IS NOT NULLAND EXTRACT(EPOCH FROM (F1_SJ - prev_F1_SJ)) / 60 > 30ORDER BY emp_no, card_date, F1_SJ;
0 点赞 评论 收藏
分享
WITH emp_info AS (SELECT emp_no, emp_name_ch, emp_dept, class_id, class_noFROM AUSZDLMS.i_facs_employeeWHERE emp_dept LIKE 'MS01%'),ptms_info AS (SELECT emp_no,card_date,card_time,card_time AS F1_SJ,import_date,location_id,in_outFROM AUSZDLMS.h_ata_recordWHERE card_date >= current_date - 1),ptms_combined AS (SELECT e.emp_no,e.emp_name_ch,e.emp_dept,e.class_id,e.class_no,p.card_date,p.card_time,p.F1_SJ,p.location_id,p.in_out,LAG(p.F1_SJ) OVER (PARTITION BY e.emp_no, p.card_date ORDER BY p.F1_SJ) AS prev_F1_SJFROM emp_info eLEFT JOIN ptms_info p ON e.emp_no = p.emp_noWHERE p.card_time IS NOT NULLAND p.location_id NOT LIKE '%F1-1F%'AND p.location_id NOT LIKE '%F1-2F%'AND p.location_id NOT LIKE '%F1-3F%'AND p.location_id NOT LIKE '%F1-4F%'AND p.location_id NOT LIKE '%F2-3F%'AND p.location_id NOT LIKE '%F2-4F%')SELECT emp_no,emp_name_ch,emp_dept,class_id,class_no,card_date,card_time,F1_SJ,prev_F1_SJ,EXTRACT(EPOCH FROM (F1_SJ - prev_F1_SJ)) / 60 AS time_diff_minutes,location_id,in_outFROM ptms_combinedWHERE prev_F1_SJ IS NOT NULLAND EXTRACT(EPOCH FROM (F1_SJ - prev_F1_SJ)) / 60 > 30ORDER BY emp_no, card_date, F1_SJ;
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务