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 등으로 하려했는데 잘 되지 않아서 이렇게 여쭤봅니다 ㅠㅠ
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
;
감사합니다!! with 문에 대해서 공부해보도록 하겠습니다!!!