ステートメントAとステートメントBがあります。
ステートメントAは5レコードを返し、ステートメントBは1レコードを返します。
ステートメントA
SELECT DISTINCT
Outlet.cCode,
Employee.cEmployeeNumber,
FROM Outlet
INNER JOIN Employee ON EmployeeOutlet.iEmployee = Employee.iID
WHERE cCOde = 123
ステートメントB
Select OutletCode, RSMcode, ASMcode, FMcode from Employee_Hierarchy
Where OutletCode = 123
これで、ステートメントAのレコードのうち3つだけが、Employee.cEmployeeNumberがRSMcode、ASMcode、またはFMcodeのいずれかと等しい場合に返される必要があります。
次のJOINを追加すると、1つのレコードが返されるだけですが、まだ必要な他の2つのレコードに対応するにはどうすればよいですか?
SELECT DISTINCT
Outlet.cCode,
Employee.cEmployeeNumber,
FROM Outlet
INNER JOIN Employee ON EmployeeOutlet.iEmployee = Employee.iID
INNER JOIN Employee_Hierarchy as EH ON EH.RSMcode = Employee.cEmployeeNumber and EH.OutletCode = Outlet.cCode
WHERE Outlet.cCode = 123
RSMcodeとASMcodeおよびFMcodeごとにJOINを追加すると、何も返されません。