다음과 같은 수식이 있다고 하자
( 4 - ( 10 - 7 )) + 3) * ( 5 / 2)
이 수식을 구문트리로 다음과 같이 표현했다고 하자
with base_data as
(
select 1 노드번호 , '*' 연산자 , null 노드값 ,1 순서 , null 부모노드 from dual
union select 2 노드번호 , '/' 연산자 , null 노드값 ,2 순서, 1 부모노드 from dual
union select 3 노드번호 , '+' 연산자 , null 노드값 ,1 순서, 1 부모노드 from dual
union select 4 노드번호 , '-' 연산자 , null 노드값 ,1 순서, 3 부모노드 from dual
union select 5 노드번호 , null 연산자 , 3 노드값 ,2 순서, 3 부모노드 from dual
union select 6 노드번호 , null 연산자 , 5 노드값 ,1 순서, 2 부모노드 from dual
union select 7 노드번호 , null 연산자 , 2 노드값 ,2 순서, 2 부모노드 from dual
union select 8 노드번호 , null 연산자 , 4 노드값 ,1 순서, 4 부모노드 from dual
union select 9 노드번호 , '-' 연산자 , null 노드값 ,2 순서, 4 부모노드 from dual
union select 10 노드번호 , null 연산자 , 10 노드값 ,1 순서, 9 부모노드 from dual
union select 11 노드번호 , null 연산자 , 7 노드값 ,2 순서, 9 부모노드 from dual
)
이 데이타로 이 수식의 답을 구하는 SQL을 작성하시면 됩니다.
|