프로시저를 수정하는데 도움 요청합니다.
프로시저는 심리검사 채점 점수를 가지고 검사 총평을 만들어 내는 프로시저 입니다.
프로시저를 설명 드리자면
simri001m 테이블의 구조는
year sim_code so_code sex_gubun t_jumsu_from t_jumsu_to result
--------------------------------------------------------------------
2009 1001 0001 0 0 150 히스테리 장애
2009 1001 0002 0 0 150 정신장애
이런식으로 되어 있어서 t_jumsu_from 부터 t_jumsu_to 사이에 점수가 있으면 result 값을 가져와서
63개 점수를 이런식으로 계산해서 붙이는 방식입니다.
그런데 문제는 from과 to 사이에 점수가 있는데 result 값이 없는 경우가 있어서
그럴경우에는 null로 표시가 되는데 콤마가 맨끝에 붙지 않게 하는 방법을 찾고 있습니다..
참고로 항목이 63개 입니다..
조언 부탁드립니다.
FOREACH
SELECT
simri001t.exam_no,
(SELECT trim(simri001m.RESULT) || decode(simri001m.RESULT,'','',', ')
FROM simri001m
WHERE simri001m.sim_code = '1001' AND simri001m.so_code = '0001'
AND simri001m.year = simri001t.year
AND decode(simri001m.sex_gbn,0,simri001t.sex,simri001m.sex_gbn) = simri001t.sex
AND simri001t.i_2 BETWEEN t_jumsu_from AND t_jumsu_to) li_result1,
(SELECT trim(simri001m.RESULT) || decode(simri001m.RESULT,'','',', ')
FROM simri001m
WHERE simri001m.sim_code = '1001' AND simri001m.so_code = '0002'
AND simri001m.year = simri001t.year
AND decode(simri001m.sex_gbn,0,simri001t.sex,simri001m.sex_gbn) = simri001t.sex
AND simri001t.i_3 BETWEEN t_jumsu_from AND t_jumsu_to) li_result2
into t_exam_no, li_result1, li_result2
FROM simri001t
where year = as_year //년도
and seq = as_seq //입시&재학생 구분코드
update simri001t
set ex2_mental_s = li_result1 || li_result2
where year = as_year
and seq = as_seq
and exam_no = t_exam_no; //수험번호 입니다.
|