2016-07-12 21 views
-2

私は3つのテーブル "Employees"、 "EmployeeLeaveDays"と "EmployeeLeaves"を持っています。MySQLの内部結合が内部結合に結合していますか?

私は休暇の日付と従業員の名前を表示するビューを作成しようとしています。だから私のカレンダーを動作させるために、私は毎日を(EmployeeLeaves)個々の日(EmployeeLeaveDays)に分割して、毎日EmployeeLeaves内の他の詳細があるEmployeeLeavesにリンクするFKを持っています。その名前を含む従業員への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;