хотите объединить несколько таблиц с несколькими условиями - PullRequest
0 голосов
/ 17 декабря 2018

Ниже мой запрос

SELECT salary.id,
       employee.emp_id,
       employee.emp_name,
       department.dept_name,
       designation.desig_name,
       salary.basic,
       salary.house_rent + salary.conveyance + salary.medical + salary.dearness + salary.others_allowances AS allowances,
       salary.income_tax + salary.pro_tax + salary.emp_state_insu + salary.others_deductions AS deductions,
       Sum(attendance.attendance = 'Absent') * salary.absence_fine AS fine,
       Monthname(attendance.date) AS month,
       salary.month AS monYear
  FROM employee
       INNER JOIN attendance ON employee.emp_id = attendance.emp_id
       INNER JOIN department ON employee.dept_id = department.dept_id
       INNER JOIN designation ON employee.desig_id = designation.desig_id
       INNER JOIN salary ON designation.desig_id = salary.desig_id
  GROUP BY salary.id,
           employee.emp_id,
           Monthname(attendance.date)  

Мой вывод:

image link

Пожалуйста, помогите мне разобраться в этой проблеме

1 Ответ

0 голосов
/ 17 декабря 2018

Вам нужен столбец, чтобы связать посещаемость с зарплатой. Допустим, у вас есть столбец с именем month_id в каждой таблице, а затем вы можете добавить условие в последнем внутреннем объединении.как то так:

INNER JOIN salary ON designation.desig_id = salary.desig_id and attendace.monthId = salary.month_id
...