gpt4 book ai didi

mysql - 连接三表即可得到贷款金额、员工总出勤率和工资

转载 作者:行者123 更新时间:2023-11-29 21:08:47 25 4
gpt4 key购买 nike

我试图加入这三个表: attendance![approved_loan][2] employee

我设法轻松加入EmployeeAttendance表,但无法使其适用于第三个表。这是我连接两个表的代码:

Approved_leave 表:

CREATE TABLE IF NOT EXISTS `approved_leave` (
`id` int(255) NOT NULL,
`company` varchar(70) NOT NULL,
`branch` varchar(70) NOT NULL,
`dept` varchar(70) NOT NULL,
`emp_id` varchar(255) NOT NULL,
`leave_type` varchar(70) NOT NULL,
`day_number` varchar(70) NOT NULL,
`reason` varchar(70) NOT NULL,
`applied_date` date NOT NULL,
`file` varchar(30) NOT NULL,
`approved_date` date NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;

出勤表:

 CREATE TABLE IF NOT EXISTS `attendance` (
`id` int(11) NOT NULL,
`company` varchar(20) NOT NULL,
`branch` varchar(55) NOT NULL,
`dept` varchar(100) NOT NULL,
`employee_id` varchar(255) NOT NULL,
`time` timestamp NOT NULL DEFAULT
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` varchar(12) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

员工表:

CREATE TABLE IF NOT EXISTS `employee` (
`emp_id` varchar(20) NOT NULL,
`emp_name` varchar(30) NOT NULL,
`emp_contact` varchar(30) NOT NULL,
`com_address` varchar(30) NOT NULL,
`per_address` varchar(30) NOT NULL,
`com_phone` varchar(13) NOT NULL,
`com_email` varchar(20) NOT NULL,
`empid` int(20) NOT NULL,
`emp_company` varchar(20) NOT NULL,
`emp_branch` varchar(20) NOT NULL,
`emp_dept` varchar(20) NOT NULL,
`emp_designation` varchar(20) NOT NULL,
`emp_salary` varchar(30) NOT NULL,
`emp_type` varchar(10 NOT NULL,
`last_updated` date NOT NULL,
`active` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

$this->db->select('COUNT(status),emp_name,employee_id,emp_salary')
->from('attendance a')->where('dept',$dept_id)
->join('employee e','a.employee_id=e.empid','left')->group_by('employee_id')
->get()->result();

批准的表格列写在下面。我的目标是获得员工的贷款金额,如果他有:
id、贷款金额、原因、员工 ID、部门、分支机构、公司申请日期

最佳答案

尝试下面的 mysql 查询:

$this->db->select('al.loan_amount,e.emp_name,a.employee_id,e.emp_salary')
->from('attendance a')->where('dept',$dept_id)
->join('employee e','a.employee_id=e.empid')
->join('approved_leave al','al.employee_id=e.empid')
->get()->result();

关于mysql - 连接三表即可得到贷款金额、员工总出勤率和工资,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36589075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com