안녕하십니까 행님들. 항상 도움받고 있습니다.
이직한지 4개월째인데 제가 너무 무능하고 멍청한 것 같아 너무 힘듭니다. 오늘도 형님들의 도움으로 하루 생명연장 하러왔습니다 ㅠ.ㅠ
아래와 같은 테이블이 있습니다.
ITEM_조부 ITEM_부모 ITEM_자식 VALUES1 VALUE2 GET_VALUE
A A B 0.5 2 4
A B C 1 2 8
A C D 1 2 16
A D E 1 3 48
GET_VALUE 값을 산출해내는 로직을 저번주 연휴 시작전날에 8시간동안 머리를 쥐어짜봤는데 못하고 돌아와서 쉬어도 쉬는게 아닙니다 ㅋ.ㅋ..
VALUE2까지는 현재 있는 테이블 이구요(정확히는 테이블 결합해서 select한 결과..)저걸 가지고 GET_VALUE SELECT하고 싶은데 너무 어렵습니다 ㅠ.ㅠ..참고로 4개만적었지만 실제로 부모가 몇개가 있는지는 정해지지 않았으므로 숫자를 정해서 만들면 안되구요...이번에 이직하고 정말 SE랑 개발머리가 아니란걸 뼈저리게 느낍니다.
이거 어떻게하면 풀 수 있을까요 ㅠ.ㅠ..
아 참고로 오라클입니다. 잘 부탁드립니다.
WITH t AS ( SELECT 'A' item_조부, 'A' item_부모, 'B' item_자식, 0.5 values1, 2 value2 FROM dual UNION ALL SELECT 'A', 'B', 'C', 1, 2 FROM dual UNION ALL SELECT 'A', 'C', 'D', 1, 2 FROM dual UNION ALL SELECT 'A', 'D', 'E', 1, 3 FROM dual ) SELECT item_조부, item_부모, item_자식, values1, value2 , (SELECT ROUND(EXP(SUM(LN(value2 / values1)))) FROM t START WITH item_자식 = m.item_자식 CONNECT BY PRIOR item_조부 = item_조부 AND PRIOR item_부모 = item_자식 ) get_value FROM t m ;