mysql 语句:将两个列相减后,将每个人的相减结果相加,再根据用户名更新到另一张表

由两个列 请假开始时间 请假结束时间  得到请假时长(小时),再拿得到的请假时长除以工作日7.5小时,得到请假的时间

根据员工和请假类型得到每个员工的各个请假类型的请假时间

比如得到这样的结果:  李红 请事假  7.5小时 /7.5 = 1

再把 这个事假 1更新到另一张表中 的事假字段中

如  tb1(请假表)  applicat          le_start_time           le_ end_time           le_type

                            李红           2015-09-18  8:30       2015-09-18 18:00    事假   

tb2  applicat      personal_leave(事假/天)

     李红                1

我现在是这样取得事假的总时长的

update  select sum(`ay_personal_leave`) from (select TIMESTAMPDIFF (HOUR,`le_start_time`,`le_end_time`) 

             as `ay_personal_leave`

            from `lk_leave` where `le_type` = '事假' and applicat = '李红' )t

但是我还没有除以7, 也没有更新到 tb2,而且这里的查询只是单个人的,如果是多个人的怎么查出来,然后更新到另一张表呢,很紧急!希望大神帮帮我!


wuzzxx
浏览 3118回答 2
2回答

pardon110

关键在于按请假类型,人,得到相应的请假时长,可以按人分组(group by )请假类型过滤条件(having+条件)sum求各类型总时长。你事件+人的条件且明显错误,如果有病假,婚假,就都查不到了
打开App,查看更多内容
随时随地看视频慕课网APP