首页 > 解决方案 > 如果该值不可用,则显示“NA”

问题描述

我有这段代码来显示resortid、度假村名称、经理姓名和他的电话号码,以及在经理姓名和电话号码不可用时显示“NA”的条件。

 select r.resortid, r.resortname, nvl(m.name, 'NA') as managername, nvl(m.phone, 'NA') as phoneno 
 from resort r inner join manager m 
 on r.managerid = m.managerid
 order by r.resortid;

这段代码的结果给了我预期的结果,但没有显示“NA”行。是否使用了“NVL”关键字,错了吗?由于它是 Oracle SQL,因此我使用了该关键字。请建议它是否在任何地方出错。提前致谢。

标签: sqloraclejoinoracle-sqldeveloper

解决方案


如果没有经理,就没有行。为什么?因为你加入了那些表。应该有OUTER加入他们,即

from resort r left join manager m on ...

推荐阅读