【发布时间】:2017-01-20 10:01:17
【问题描述】:
在这里我想加入这三个表,即salary、payroll 和attendance。首先我想加入salary.salary_template_id 和employee.salary_template_id,然后我想加入employee.user_id 和attendance.user_id为了得到每个user_id的基本工资。我该如何加入?
我的工资表是这样的
我收到了这个错误
“on 子句”中的未知列“tbl_employee_payroll.salary_template_id”
salary_template_id salary_grade basic_salary overtime_salary
1 a 10000
2 b 15000
我的员工表是这样的
payroll_id user_id salary_template_id
1 1 NULL
2 36 2
3 43 1
我的出席是这样的
attendance_id user_id leave_category_id date_in date_out attendance_status
13 36 0 2017-01-02 2017-01-02 1
14 36 3 2017-01-04 2017-01-04 3
这是我的代码
public function attendance_report_by_empid($user_id = null, $sdate = null) {
$this->db->select('attendance.*', FALSE);
$this->db->select('employee.*', FALSE);
$this->db->select('salary.*', FALSE);
$this->db->from('attendance');
$this->db->join('salary', 'salary.salary_template_id = employee.salary_template_id', 'inner');
$this->db->join('employee', 'employee.user_id = attendance.user_id', 'left');
$this->db->where('attendance.user_id', $user_id);
$this->db->where('attendance.date_in', $sdate);
$this->db->where('attendance.date_out <=', $sdate);
$query_result = $this->db->get();
$result = $query_result->result();
return $query;
}
我的结果应该是这样的
attendance_id user_id leave_category_id date_in date_out attendance_status salary
13 36 0 2017-01-02 2017-01-02 1 1000
14 36 3 2017-01-04 2017-01-04 3 1000
【问题讨论】:
-
您想告诉我们问题出在哪里吗?
-
问题是无法加入并出现错误
-
您想告诉我们您遇到的错误是什么吗?
-
Unknown column 'tbl_employee_payroll.salary_template_id' in 'on clause'我收到此错误 -
然后检查表和列的实际名称。错误信息很清楚,MYSQL不只是因为它变得无聊而弥补它们
标签: mysql codeigniter join