조회 관련 쿼리 질문 드립니다. 2

by jahyo2 [2022.12.29 14:50:59]


<테이블 구조>           
 start_dt           | gbn         |fee        |
-----------------+------------+----------+
20221229         |GENERAL   |2500      | 
20221229         |SPECIAL     |2000      | 

SELECT gbn, fee FROM table1 WHERE start_dt = 20221229 로 도출되는 결과를
gbn 값에 따라 fee_general(gbn이 GENERAL인 금액), fee_special(gbn이 SPECIAL인 금액) 등의 alias를 줘서 결과값을 낼 수 있을까요?

<원하는 결과>
start_dt          | fee_general   | fee_special   |
----------------+---------------+---------------+
20221229        | 2500          |2000           |

CASE WHEN 이나 UNION 등으로 하려했는데 잘 되지 않아서 이렇게 여쭤봅니다 ㅠㅠ
 

by 마농 [2022.12.29 15:08:43]
WITH table1 AS
(
SELECT '20221229' start_dt, 'GENERAL' gbn, 2500 fee FROM dual
UNION ALL SELECT '20221229', 'SPECIAL', 2000 FROM dual
)
SELECT start_dt
     , MIN(CASE gbn WHEN 'GENERAL' THEN fee END) fee_general
     , MIN(CASE gbn WHEN 'SPECIAL' THEN fee END) fee_special
  FROM table1
 WHERE start_dt = '20221229'
 GROUP BY start_dt
;

 


by jahyo2 [2022.12.29 16:17:05]

감사합니다!! with 문에 대해서 공부해보도록 하겠습니다!!!

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