我正在试图回复住在康涅狄格州伯大尼的人的记录。如果某人也是雇员,则还会显示其工作中心ID。否则,返回null值。我正在使用表员工和个人。我坚持的是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。
答案 0 :(得分:0)
试试这个
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;