트리구조 관계인 2개의 칼럼을 1개의 칼럼으로 조회하는 법 0 4 720

by 상블리 [SQL Query] [2020.02.25 17:56:55]



트리구조인 두개의 칼럼을  1개의 칼럼으로 나타나게 조회하고 싶은데 어떻게 해야 할지 감이 안 잡힙니다 ㅠㅠ

첨부파일의 내용을 간단히 설명하자면 다음과 같습니다.

첨부파일의

1) fiveclass 는 fourclass의 하위 칼럼입니다.

 2) fourclass는 8550, 8561 값으로 데이터를 구분지을 수 있습니다. 

 3) fiveclass 칼럼은 

    -85501,85502,85503 : 8550의 하위 칼럼값

    - 85611,85612,85613,85614,85615:8561의 하위 칼럼값

두 개의 칼럼으로 적재된 데이터를

아래 처럼1개의 칼럼으로 조회해 보고 싶습니다. 어떻게 짜야 하는지 부탁 드립니다.  감사합니다.

class
8550
85501
85502
85503
8561
85611
85612
85613
85614
85615

.

 

    

 

 

by 마농 [2020.02.25 19:23:08]
WITH t AS
(
SELECT '8550' fourclass, '85501' fiveclass FROM dual
UNION ALL SELECT '8550', '85502' FROM dual
UNION ALL SELECT '8550', '85503' FROM dual
UNION ALL SELECT '8561', '85611' FROM dual
UNION ALL SELECT '8561', '85612' FROM dual
UNION ALL SELECT '8561', '85613' FROM dual
UNION ALL SELECT '8561', '85614' FROM dual
UNION ALL SELECT '8561', '85615' FROM dual
)
SELECT NVL(fiveclass, fourclass) class
  FROM t
 GROUP BY fourclass, ROLLUP(fiveclass)
 ORDER BY fourclass, GROUPING(fiveclass) DESC, fiveclass
;

 


by 상블리 [2020.03.25 17:47:02]

답변 너무 감사합니다.  늦었지만 오늘이에야 확인했네요.

답변해주신것중에 문의 하나 드려도 될까요?

1. SELECT NVL(fiveclass, fourclass) class  구문 의미가 어떤건지 궁금합니다.

저 같은 경우 nvl은 null값있을 때  정상적으로 계산할때 사용하는 걸로밖에 기능을 모르거든요 ㅠㅠ


by 마농 [2020.03.25 21:41:29]

네. 널값 치환하는 바로 그 기능입니다.


by 상블리 [2020.03.27 23:23:21]

전 nvl을 쓸 때 이런식으로 nvl(column,0)으로만 사용하는 줄 알았습니다. 

nvl(column1,column2)만 쓰고 따로 0을 안써도 column1, column2가 null일때 0으로 작동하게끔 가능한건가요?ㅠㅠ

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입