我正在创建一个计划者,但是我现在所拥有的SQL语句只显示在表2(plannerEntries)中有内容的雇员,而不显示表1(Employee_List)中的其余雇员。
我需要将所有雇员输出到表中,而不管他们是否有任何工作分配给他们的一周,以便他们可以有新的工作分配容易。
这是我当前的SQL代码
SELECT [EL].[Employee_Numer],
[PP].[workDate],
[PP].[jobNo],
[PP].[workDescription],
[PP].[timeOfDay],
[JF].[Description],
[EL].[Forename],
[EL].[Surname]
FROM plannerEntries AS PP
RIGHT JOIN [Employee_List] AS EL
ON [PP].[employeeNumber] = [EL].[Employee_Numer]
INNER JOIN [Job File] AS JF
ON [PP].[jobNo] = [JF].[Job No]
WHERE [PP].[workDate] >= '$monday'
AND [PP].[workDate] <= '$sunday'
ORDER BY [PP].[employeeNumber] ASC;
我希望打印所有员工而不考虑表2中的记录,但只打印了表2中有记录的员工。下图是实际输出。
1条答案
按热度按时间kuarbcqp1#
请检查内部联接、左联接和右联接之间的区别。
像这样的东西应该可以满足你的需要: