LloydDobler
Technical User
Hi everyone, i'm trying to get this query to work. What I need it to do is give me all the employees who have either been trained on a machine (dateofcompletion), or have worked on a machine (PRDDate). All I seem to be getting is employees who have done both, which is okay, but I need those who have one and not the other to be in the results as well. Here's my code. Any help would be great. Thanks
SELECT I.EmployeeNumber, I.MachineNumber, I.PRDdate AS LastRunByEmployee, dbo.trainingtable.DateofCompletion AS LastTrained
FROM dbo.EmployeesTable E INNER JOIN PRD.dbo.tbl_Production I ON E.EmployeeNumber = I.EmployeeNumber INNER JOIN dbo.trainingtable ON E.EmployeeNumber = dbo.trainingtable.EmployeeNumber AND I.MachineNumber = dbo.trainingtable.MachineNumber
WHERE (I.PRDdate =(SELECT MAX(PRDdate) FROM PRD.dbo.tbl_Production))
OR (dbo.trainingtable.DateofCompletion <>
(SELECT MAX(dateofcompletion) FROM dbo.trainingtable))
SELECT I.EmployeeNumber, I.MachineNumber, I.PRDdate AS LastRunByEmployee, dbo.trainingtable.DateofCompletion AS LastTrained
FROM dbo.EmployeesTable E INNER JOIN PRD.dbo.tbl_Production I ON E.EmployeeNumber = I.EmployeeNumber INNER JOIN dbo.trainingtable ON E.EmployeeNumber = dbo.trainingtable.EmployeeNumber AND I.MachineNumber = dbo.trainingtable.MachineNumber
WHERE (I.PRDdate =(SELECT MAX(PRDdate) FROM PRD.dbo.tbl_Production))
OR (dbo.trainingtable.DateofCompletion <>
(SELECT MAX(dateofcompletion) FROM dbo.trainingtable))