【发布时间】:2016-09-23 15:08:41
【问题描述】:
我将非常感谢以下方面的帮助:
SELECT A.EMPLOYEE, A.PHONE AS CELL, B.PHONE AS OFFICE, C.PHONE AS HOME
FROM PHONE_NUMBERS A, PHONE_NUMBERS B, PHONE_NUMBERS C
WHERE A.EMP_NUM = B.EMP_NUM
AND A.EMP_NUM = C.EMP_NUM
AND A.PHONE_TYPE = 'CELL'
AND B.PHONE_TYPE = 'OFFICE'
AND C.PHONE_TYPE = 'HOME'
我的问题如下:如果员工有 CELL 和 HOME 电话类型,但不存在 OFFICE 电话类型的条目,则查询不会返回他,因为 OFFICE 不存在。我尝试过 CASE 语句,但没有电话类型,CASE 没有可比性。我已经阅读了很多关于 IF NOT EXISTS 的帖子,但我不确定这是否是正确的方法。我希望查询返回所有 EMP_NUM,如果不存在特定的 PHONE_TYPE,则返回 null。
【问题讨论】: