从两个表中选择并设置空列

时间:2015-05-22 22:09:17

标签: sql sql-server sql-server-2008

我有两张桌子

时间表:

scheduleID    DriverID      ScheduleDate
11            1             2015-05-20
22            2             2015-05-20
33            NULL          2015-05-21
44            NULL          2015-05-21

员工:

ID           Fname          Lname
1            jack           miller
2            kelly          moore
3            mark           sam
4            tom            hanks

我想基于ScheduleDate从这两个表中进行选择,并显示Employee表中的驱动程序全名并显示空列。

结果应该是:

scheduleID    Fname       Lname
33            NULL         NULL
44            NULL         NULL

我用过:

select  row_number() over (order by scheduleID desc) as schedule, scheduleID, Driver_ID,FirstName,LastName
From Schedule, Employee
where scheduleDate= '2015-05-21' AND EmployeID=Driver_ID;

如果“scheduleDate ='2015-05-20'”

,它的效果很好

但我也要显示空列! 任何帮助!

1 个答案:

答案 0 :(得分:1)

您需要left join - 只是强调为什么不应该使用隐式join语法。简单规则:始终使用显式join语法。切勿在{{1​​}}子句中使用逗号。

from