我有一個問題,讓這個SQL狀態返回我想要的: 我希望它返回一個屬性列表的僱員或Job_Profile。如果其中一人不具備的特性,應該在該行返回NULL /列 現在的SQL是這樣的:SQL JOIN和WHERE語句
SELECT Parameter.Patameter_Description ParamName,
Job_Profile.Title, Job_Property.Mark JobMark,
Emp_Property.Mark EmpMark,
Emp_Id--, (Employee.First_Name + ' ' + Employee.Last_Name) EmpName
FROM Job_Property
INNER JOIN Job_Profile ON Job_Profile.Title = Job_Property.Job_Title
INNER JOIN Parameter ON Job_Property.Parameter_Id = Parameter.Id
RIGHT JOIN Emp_Property ON Emp_Property.Parameter_Id = Job_Property.Parameter_Id
INNER JOIN Employee ON Emp_Property.Emp_Id = Employee.Enterprise_Staff_Id
WHERE Employee.Enterprise_Staff_Id = 22
AND Job_Profile.Title =
(SELECT
Employee.Job_Profile_Name
FROM Employee WHERE Employee.Enterprise_Staff_Id = 22)
結果是:
Analyse test 1 3 22
而且我想它是是這樣的:
Analyse test 1 3 22
Data test 3 NULL NULL or 22
economic test 4 NULL NULL or 22
Service test 2 NULL NULL or 22
我知道有我一個問題: - 加入Emp_Property - 使WHERE語句
我嘗試這樣做,使用LEFT OUTER JOIN代替RIGHT JOIN,結果我得到了相同的是一樣的。 我也嘗試使所有的聯接全部和運行它沒有where子句,我仍然沒有得到我期望的NULL值 – Jorn 2009-10-01 10:41:37