2016-07-12 108 views
-2

我有3個表「員工」,「EmployeeLeaveDays」和「EmployeeLeaves」。MySQL內部加入內部加入?

我正在創建一個顯示假期和員工姓名的日期的視圖。所以爲了讓我的日程表能夠工作,我將每個人都分成了獨立的日子(EmployeeLeaveDays),這個日子裏有一個FK,每天都會回到(EmployeeLeaves),在EmployeeLeaves周圍有其他詳細信息,我有一個「employee」列是FK給員工的名字。

所以在我看來,我想返回名稱,因爲你可以看到是2表,我寫了這個MySQL查詢,但它不起作用(返回沒有數據),我想知道是否有反正做我需要做的事情?

SELECT 
EmployeeLeaveDays.id, 
EmployeeLeaveDays.employee_leave, 
EmployeeLeaveDays.leave_date, 
EmployeeLeaveDays.leave_type 
FROM EmployeeLeaveDays 
INNER JOIN EmployeeLeaves 
ON EmployeeLeaveDays.employee_leave=EmployeeLeaves.employee 
INNER JOIN Employees 
ON EmployeeLeaves.employee=Employees.employee_id; 

希望你能看到我想要達到的目標,我怎樣才能附加一些表格結構的截圖。

Image 1

Image 2

感謝

+4

什麼意思'它不起作用? – Jens

+1

沒有圖片,謝謝。 – Strawberry

+0

對不起,它只是返回沒有數據的列是空白的。 –

回答

0

經過一番思考我到底到了那裏。這是最後的查詢。

SELECT 
EmployeeLeaveDays.id, 
EmployeeLeaveDays.employee_leave, 
EmployeeLeaveDays.leave_date, 
EmployeeLeaveDays.leave_type, 
EmployeeLeaves.employee, 
Employees.employee_id, 
Employees.first_name, 
Employees.last_name 
FROM EmployeeLeaveDays 
LEFT JOIN EmployeeLeaves ON EmployeeLeaveDays.employee_leave = EmployeeLeaves.id 
LEFT JOIN Employees ON EmployeeLeaves.employee = Employees.id;