기준값 기준으로 등급 구하려 하는데 잘안되네요. 결과처럼 나오게 하려면 어떻게 해야할까요 ㅠ
[기준값 테이블]
ID 관심
주의
경계
심각 A 2 3 4 5 B 4 6 10 12
[측정 테이블]
ID 측정값 A 6 B 10
<<RESULT>>
ID 측정값 등급
A 6 심각
B 10 경계
by 도가니
[2011.12.15 10:41:55]
with tb_a as (
select 'A' id, 2 a, 3 b, 4 c, 5 d from dual union all
select 'B' id, 4 a, 6 b, 10 c, 12 d from dual
), tb_b as (
select 'A' id, 6 a from dual union all
select 'B' id, 10 a from dual
)
select tb_b.id, tb_b.a,
case
when tb_b.a <= tb_a.a then '관심'
when tb_b.a = tb_a.b then '주의'
when tb_b.a = tb_a.c then '경계'
when tb_b.a >= tb_a.d then '심각'
end b
from tb_a, tb_b
where tb_a.id = tb_b.id;
by 강민철
[2011.12.15 17:03:21]
제가 모르고 숫자타입인데 '2','3'.. 식으로 문자로 했더니 엉뚱한 결과가 나오더라구요. ^^ 참고하세요. 혹시 저같이 실수하시는분이 있을까봐서요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.