我正在嘗試編寫一個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 –
還有什麼我需要改變或者它是隻是加入?我認爲這可能是一個加入的問題,但我嘗試了其他幾個,並沒有讓我更接近。 '完整的外部連接'似乎並不適用於MYSQL,至少不是我使用它的方式。 – user2328273
這也有點令人困惑,因爲我加入了4張桌子而不是2張。 – user2328273