如何在内部连接中添加大小写



Oracle:在内部连接中,我想检查条件-1,如果条件 - A 成功,条件 2 如果条件 B 成功。为此,我写了以下内容,但没有运气。

有人可以帮助我吗

内部连接 student_unit_attempt sua 上 sua.person_id=sei.person_id 和sua.course_cd=sei.course_cd 和(案例 当i_unit_attempt_status不为空时 然后(sua.unit_attempt_status ="已注册"( 当i_unit_attempt_status为空时 然后(sua.unit_attempt_status='已完成'(结束(

CASE表达式必须返回如下值:

INNER JOIN student_unit_attempt sua 
on sua.person_id=sei.person_id 
AND sua.course_cd=sei.course_cd 
AND sua.unit_attempt_status = CASE 
WHEN i_unit_attempt_status IS NOT NULL THEN 'ENROLLED' 
ELSE 'COMPLETED' 
END

CASE返回的值与sua.unit_attempt_status进行比较。

尝试改写WHERE子句中的逻辑,甚至不使用CASE

SELECT ...
INNER JOIN student_unit_attempt sua
ON sua.person_id = sei.person_id AND
sua.course_cd = sei.course_cd AND (
(i_unit_attempt_status IS NOT NULL AND sua.unit_attempt_status = 'ENROLLED') OR
(i_unit_attempt_status IS NULL AND sua.unit_attempt_status = 'COMPLETED'));

最新更新