급여명세서 관련 쿼리 질문드립니다. 0 1 1,096

by 딩요 [Oracle 기초] [2023.05.23 12:58:30]


급여명세서 개발 중인데요.

테이블 구성이

날짜      | 부서명 |   사번   |  이름   |  급여종류1 | 급여종류2 | 급여종류3 | 급여종류 4 | 급여종류5 | ..............

2023-05 |    IT    |  222222 | 홍길동 |       500    |        0     |       20     |      0         |       30    |  ..............

 

해당 데이터를 하단처럼 0인 항목을 제외하고 컬럼 순차적으로 뿌려주고 싶은대요

decode랑 case문으로 짜보는데 잘 안되고 있네요

pivot 사용해야 할거 같은데 잘 안풀려서요, 현재는 일단 union all로 row로 뿌려줘서 루프돌려서 사용 중인데 속도문제가 있습니다.

혹시 힌트 좀 주실 수 있을까요? 오라클입니다.

답변 부탁드립니다.

 

날짜      | 부서명 |   사번   |  이름   |  급여종류1 |  급여종류3 |  급여종류5 | ..............

2023-05 |    IT    |  222222 | 홍길동 |       500    |       20      |      30       |  ..............

by 마농 [2023.05.23 13:14:27]

금액이 0인 것을 제외하려면? 쿼리만으로는 안됩니다. 동적쿼리를 사용해야 합니다.
1명 조회인가요? 여러명 조회인가요?
1명 조회라면? 굳이 횡으로 나열할 필요가 있나요? 종으로 조회하면 될 것이고
여러명 조회라면? 사람마다 0인 항목이 다를텐데? 어떤 계획이 있으신지요?

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