SQL:如何在条件语句中返回记录,如果为 false,则返回空值



我正在尝试返回居住在康涅狄格州贝瑟尼的人们的记录。如果某人也是员工,则还会显示其工作中心 ID。否则,将返回空值。我正在使用员工和个人的表格。我卡在 CASE 语句上,如果一个人是员工(如果他们有员工 ID),我试图返回工作中心 ID,否则,应该打印一个空值。

  SELECT last_name, 
         first_name, 
         birth_date, 
         city, 
         state, 
         employee_id, 
         work_center_id,
         (CASE 
               WHEN employee_id = 'IS NOT NULL' THEN work_center_id
               ELSE employee_id = 'NULL',
          END)
    FROM person, 
         employee
   WHERE city LIKE UPPER('Bethany') 
         AND state= 'Connecticut'
ORDER BY employee_id ASC;

如果它满足条件,我不确定如何让它返回记录或在条件不存在时打印空值。我看过Oracle i-Learning幻灯片和我老师的幻灯片,但我一直无法找到方法。我正在使用Oracle SQL。

试试这个

SELECT last_name, 
       first_name, 
       birth_date, 
       city, 
       state, 
       employee_id, 
       work_center_id, 
       CASE 
         WHEN employee_id IS NOT NULL THEN work_center_id 
         ELSE NULL 
       END AS Work_CenterId 
FROM   person, 
       employee 
WHERE  city LIKE Upper('Bethany') 
       AND state = 'Connecticut' 
ORDER  BY employee_id ASC; 

相关内容

  • 没有找到相关文章

最新更新