학번 테이블과 자격증 테이블에서
한학번당 자격증 보유 여부를 확인하려고 하는데요..
어떤 방법이 있을까요...설명 부탁드리니다.
ex)1번이라는 학번의 학생이 보유한 자격증은 운전면허 , 워드 프로세스, 정보처리 기사 3개 입니다..
이 자격증을 하나하나 보여지지 않고 자격증 갯수가 1보다 크면 무조건 '보유' 라고 나오게 하고 싶습니다..
select student_no,
case when b.student_no is null '없음'
else '보유'
end as yn
from 학번테이블 a, (select distinct student_no from 자격증테이블) b
where a.student_no = b.student_no(+)
WITH 학번 AS ( SELECT '01' 학번 FROM DUAL UNION ALL SELECT '02' FROM DUAL UNION ALL SELECT '03' FROM DUAL ), 자격증 AS ( SELECT '01' 학번, '운전면허' 자격증 FROM DUAL UNION ALL SELECT '01' 학번, '워드' 자격증 FROM DUAL UNION ALL SELECT '03' 학번, '워드' 자격증 FROM DUAL ) SELECT A.학번, CASE WHEN COUNT(자격증) >= 1 THEN '보유' ELSE '미보유' END, COUNT(자격증) FROM 학번 A, 자격증 B WHERE A.학번 = B.학번(+) GROUP BY A.학번
감사합니다~