데이터의 구조를 파악하고 출력하는 문제이다.
트리형인 데이터를 leaf, inner, loot로 구분하면 된다.
먼저 상위 노드로 이어지는 쿼리를 작성해보았다.
이 쿼리의 문제는 최상의 노드로 가면 데이터가 삭제된다....
그래서 15개 데이터 중 12개만이 출력되었다.
(+)=로 바꿔서도 해보았는데 오류가 났다...
원래 내 생각은 이 코드가 잘 되었다면
2,3,4번째항에 null이 있다면 끝나는 것으로 생각해서 처음 되는 것은 leaf,
그 다음은 inner, 마지막은 root로 지으려고했으나 잘 되지않았다...
3일정도 생각을 해보았는데 잘 모르겠더라...
그래서 결국 다른 사람의 쿼리를 보았다..
간단하게 CONCAT 함수로 구현했다.
P가 NULL이면 ROOT
N이 P에 있으면 INNER
이외엔 LEAF로 판단하였다.
데이터 구조에 따라 ROOT, INNER, LEAF로 자연스럽게 코드를 구성하였다.
'코딩 > SQL 코딩테스트' 카테고리의 다른 글
46. New Companies (0) | 2022.07.05 |
---|---|
45. Ollivander's Inventory - 졌잘싸 (0) | 2022.06.28 |
43. THE PADS (0) | 2022.06.23 |
42. Weather Observation Station 20 (0) | 2022.06.19 |
41. The Report (0) | 2022.06.19 |