【发布时间】:2019-11-14 21:46:08
【问题描述】:
我想计算每个员工的休假时间。
我有以下表格:
出席率(id、empid、check_in、check_out、date)列
离开 with(id,empid,reason,time_long from_date, to_date) 列
员工与(id,name,....)列
这是我的查询:
select `emp`.*, `p`.*, `a`.*, `l`.`id` as `leaveId`, `l`.`time_long` as `leaveLong`, `l`.`from_date` as `leaveFrom`, `l`.`to_date` as `leaveTo` from `employee` as `emp` inner join `attendance` as `a` on `emp`.`id` = `a`.`empid` left join `leave` as `l` on `emp`.`id` = `l`.`empid` where `a`.`date` between 2019-03-01 and 2019-03-31 order by `emp`.`id` asc)
查询返回以下记录。
[
{
"log_id": 1310,
"name": "ahmad",
"empid": 3,
"check_in": "11:56",
"check_out": "17:25",
"date": "2019-03-23",
"time_long": "5:28",
"leaveId": 5,
"leaveLong": 16,
"leaveFrom": "2019-03-15",
"leaveTo": "2019-03-17"
},
{
"log_id": 1311,
"name": "ahmad",
"empid": 3,
"check_in": "07:14",
"check_out": "17:24",
"date": "2019-03-24",
"time_long": "10:9",
"leaveId": 5,
"leaveLong": 16,
"leaveFrom": "2019-03-15",
"leaveTo": "2019-03-17"
},{
"log_id": 1312,
"name": "ahmad",
"empid": 3,
"check_in": "06:58",
"check_out": "17:21",
"date": "2019-03-25",
"time_long": "10:23"
"leaveId": 5,
"leaveLong": 16,
"leaveFrom": "2019-03-15",
"leaveTo": "2019-03-17"
},{
"log_id": 1313,
"name": "ahmad",
"empid": 3,
"check_in": "07:58",
"check_out": "17:21",
"date": "2019-03-26",
"time_long": "9:23"
"leaveId": 15,
"leaveLong": 8.0,
"leaveFrom": "2019-03-28",
"leaveTo": "2019-03-29"
},
{
"log_id": 1314,
"name": "ahmad",
"empid": 3,
"check_in": "07:58",
"check_out": "17:21",
"date": "2019-03-26",
"time_long": "9:23"
"leaveId": 15,
"leaveLong": 8.0,
"leaveFrom": "2019-03-28",
"leaveTo": "2019-03-29"
},
{
"log_id": 1315,
"name": "ahmad",
"empid": 3,
"check_in": "08:00",
"check_out": "16:00",
"date": "2019-03-27",
"time_long": "8:00"
"leaveId": 15,
"leaveLong": 8.0,
"leaveFrom": "2019-03-28",
"leaveTo": "2019-03-29"
}
{ ... }
]
所以我希望从这个输出中得到以下结果:
ID 为 3 的员工的假期 = 24 小时
【问题讨论】:
-
您打算在 JavaScript 或 PHP 中执行此操作吗?你标记了两者。
-
有人能解释一下这条线背后的逻辑吗
leave long for employee with ID 3 = 24 hours and leave long fro employee with ID 8 = 0 hours -
欢迎来到 Stack Overflow。我希望您没有在这个问题中分享机密或机密数据。此外,请查看How To Ask。最好分享您迄今为止尝试过的内容以及遇到的潜在错误。
-
为什么 id 3 的预期答案是 24?不应该是 16 + 16 + 16 + 8.0 + 8.0 = 64,还是要检查唯一性?
-
@Qirel 我在 php 中工作,但我也标记了 java 脚本,因为我只是想知道这个概念。然后我可以在两者中编码
标签: php arrays laravel arraylist