我正在尝试返回居住在康涅狄格州贝瑟尼的人们的记录。如果某人也是员工,则还会显示其工作中心 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;