-
SQL 행 -> 열 변환카테고리 없음 2020. 9. 17. 15:33
DECODE 사용하면 된다.
select SALES_SER_NAME, TO_NUMBER(SALES_STORE_COUNT) SALES_STORE_COUNT, SALES_BD_NAME, cc.CS_CODE_NAME, ROW_NUMBER() over (partition by cc.CS_CODE_NAME order by TO_NUMBER(SALES_STORE_COUNT) desc) rank from SALES_TEMP_CSCODE inner join CS_CODE a on SALES_BD_NAME = '서울 중구 명동역' and SALES_BUNGI_CODE = '4' and SALES_TEMP_CSCODE.SALES_CS_CODE = a.CS_CODE inner join CS_CODE CC on CC.CS_CODE = a.CS_CODE2 group by SALES_CS_CODE, SALES_SER_NAME, TO_NUMBER(SALES_STORE_COUNT), SALES_BD_NAME, cc.CS_CODE_NAME order by CS_CODE_NAME desc, rank asc
행을 열로 반환 하기 전 데이터 select rank, MIN(DECODE(CS_CODE_NAME, '외식업', SALES_SER_NAME)) sales_ser_name_1, MIN(DECODE(CS_CODE_NAME, '외식업', SALES_STORE_COUNT)) sales_store_count_1, MIN(DECODE(CS_CODE_NAME, '외식업', SALES_BD_NAME)) sales_bd_name_1, MIN(DECODE(CS_CODE_NAME, '외식업', CS_CODE_NAME)) cs_code_name_1, MIN(DECODE(CS_CODE_NAME, '소매업', SALES_SER_NAME)) sales_ser_name_2, MIN(DECODE(CS_CODE_NAME, '소매업', SALES_STORE_COUNT)) sales_store_count_2, MIN(DECODE(CS_CODE_NAME, '소매업', SALES_BD_NAME)) sales_bd_name_2, MIN(DECODE(CS_CODE_NAME, '소매업', CS_CODE_NAME)) cs_code_name_2, MIN(DECODE(CS_CODE_NAME, '서비스업', SALES_SER_NAME)) sales_ser_name_3, MIN(DECODE(CS_CODE_NAME, '서비스업', SALES_STORE_COUNT))sales_store_count_3, MIN(DECODE(CS_CODE_NAME, '서비스업', SALES_BD_NAME)) sales_bd_name_3, MIN(DECODE(CS_CODE_NAME, '서비스업', CS_CODE_NAME)) cs_code_name_3 from ( select SALES_SER_NAME, TO_NUMBER(SALES_STORE_COUNT) SALES_STORE_COUNT, SALES_BD_NAME, cc.CS_CODE_NAME, ROW_NUMBER() over (partition by cc.CS_CODE_NAME order by TO_NUMBER(SALES_STORE_COUNT) desc) rank from SALES_TEMP_CSCODE inner join CS_CODE a on SALES_BD_NAME = '서울 중구 명동역' and SALES_BUNGI_CODE = '4' and SALES_TEMP_CSCODE.SALES_CS_CODE = a.CS_CODE inner join CS_CODE CC on CC.CS_CODE = a.CS_CODE2 group by SALES_CS_CODE, SALES_SER_NAME, TO_NUMBER(SALES_STORE_COUNT), SALES_BD_NAME, cc.CS_CODE_NAME order by CS_CODE_NAME desc, rank asc ) WHERE rank <= 5 GROUP BY rank order by rank asc
DECODE 를 사용하여 행 데이터를 열 데이터로 변환