- 員工
- ApprovalMatrix
- ExpenseMatrix
Employee
包含:
ID CompanyId Name
---------------------------------------
9 1 ABC
10 1 XYZ
11 1 WEW
ApprovalMatrix
包含:
ID Module Employeeid EmployeeLeaderId
--------------------------------------------
11 M1 9 11
12 M1 10 11
13 M2 9 11
55 M3 10 11
56 M2 10 11
ExpenseMatrix
包含:
ID Employeeid EmployeeLeaderId
--------------------------------------------
11 10 9
12 11 9
預期結果:
Module EmployeeName EmployeeLeaderName
--------------------------------------------
M1 ABC WEW
M1 XYX WEW
M2 ABC WEW
M3 XYZ WEW
M2 XYZ WEW
Expense XYZ ABC
Expense WEW ABC
喜歡我有4-5個不同的表需要合併所有表員工智慧,也需要模塊名稱爲哪個模塊領導者分配。
下面是我試圖到目前爲止
select
C.Module, A.Employeeid, B.Name
from
Employee B
join
ExpenseMatrix A on A.EmployeeLeaderId = B.Id
join
ApprovalMatrix C on C.EmployeeLeaderId = B.Id
where
B.EmpStatus = 1 and A.EmployeeId = 56
這裏有什麼問題,請你多解釋一下? – Anil
注意:你應該使用**更有意義的表別名 - 只是A,B和C真的沒有幫助 - 使用'Employee E','ExpenseMatrix EM'和'ApprovalMatrix AM'並且你的JOIN條件變得很多更清楚:'對EM.EmployeeLeaderId = E.Id'等 –
最後兩個記錄預計來自工會,而不是加入 – Horaciux