Я пытаюсь написать запрос mysql, в котором будут перечислены все сотрудники, их функция работы и общая стоимость всех заданий, которые они выполняли в течение определенного дня. Вот соответствующая часть моих таблиц:Сумма затрат MYSQL для всех сотрудников на определенную дату
job_function table
emp_func
emp_num
employee table
emp_name
emp_num
job table
job_date
emp_num
job_name
job_type table
cost
job_name
Запрос работает за исключением того, что она возвращает только сотрудников, которые имели работу за определенный день. Если у сотрудника не было работы в тот день, они не появлялись. Мне нужно показать всех сотрудников, даже тех, у кого не было работы в тот день. Любые предложения о том, как это сделать? Вот мой запрос:
SELECT
employee.emp_name,
job_function,emp_func,
SUM(job_type.cost)
FROM
employee
INNER JOIN job ON job.emp_num = employee.emp_num
INNER JOIN job_function ON job_function.emp_num = employee.emp_num
INNER JOIN job_type ON job.job_name = job_type.job_name
where job_date = '2016-04-16'
group by emp_name;
вы должны найти свой ответ здесь. http://stackoverflow.com/questions/5706437/whats-the-difference-between-inner-join-left-join-right-join-and-full-join –
Есть ли что-то еще, что мне нужно изменить, или это просто присоединиться? Я думал, что это может быть проблема присоединения, но я попробовал несколько других, и это не приблизило меня. «FULL OUTER JOIN», похоже, не работает с MYSQL, по крайней мере, не так, как я его использую. – user2328273
Это также немного запутанно, поскольку я соединяю 4 таблицы вместо 2. – user2328273