繁体   English   中英

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

[英]Select from two tables and set null column

我有两张桌子

时间表:

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'”效果很好

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM