2012. 10. 30. 16:55 IT/Sql
SELECT PROF_GB, TO_NUMBER(:LECTURE_SEQ) AS LECTURE_SEQ, --입력받는 LECTURE_SEQ가 문자열일때 TO_NUMBER를 통하여 문자->숫자로 바꿔줌 USER_ID FROM ( SELECT CASE WHEN (SELECT PROF_ID FROM LMS_LECTURE WHERE LECTURE_SEQ = :LECTURE_SEQ) = A.USER_ID THEN 1 WHEN (SELECT CPROF_ID FROM LMS_LECTURE WHERE LECTURE_SEQ = :LECTURE_SEQ) = A.USER_ID THEN 2 WHEN (SELECT CPROF_ID2 FROM LMS_LECTURE WHERE LECTURE_SEQ = :LECTURE_SEQ) = A.USER_ID THEN 3 WHEN (SELECT CPROF_ID3 FROM LMS_LECTURE WHERE LECTURE_SEQ = :LECTURE_SEQ) = A.USER_ID THEN 4 ELSE 5 --학생인 경우 END AS PROF_GB, A.* FROM LMS_USER A ) WHERE PROF_GB IN (1,2,3,4) --IN을 사용하여 PROF_GB가 1,2,3,4에 해당하는 결과 골라내기 UNION ALL --위, 아래 쿼리의 결과를 하나로 합치기(중복 제거X) UNION은 중복 제거 SELECT 5 AS PROF_GB, -- A테이블에 PROF_GB가 없지만 위의 결과와 합치기 위해 임의로 5설정 A.LECTURE_SEQ, A.USER_ID FROM LMS_LECTURE_REGIST A WHERE LECTURE_SEQ = :LECTURE_SEQ ORDER BY PROF_GB --검색 결과를 PROF_GB로 정렬
현재, 과거, 미래의 날짜, 시간 구하기 (0) | 2012.11.08 |
---|---|
AS (0) | 2012.11.08 |