열 사번 직원명 2019.01.01 2019.01.02~~2019.09.30 까지 열이 되어야하는데
저많은기간을 전부 decode나 case 문으로 처리를 하려고하니 비효율적인거같아서 피벗을 찾아봤는데 상수가 아니면ㅈ안된다는 오류가 뜨더라구요 혹시 위와같은 쿼리짜실때 좋은 정보있으신가해서 문의드립니다.
감사합니다
by 우리집아찌
[2019.11.01 13:19:51]
xmlagg 함수등으로 구분자 처리해서 한번에 만들어서 프로그램에서 split 처리도 가능합니다
by jkson
[2019.11.01 13:38:50]
pivot 구문이 그럴 때 편해요.
프로그램단에서 '2019.01.01','2019.01.02' ... '2019.09.30' 문자열을 만들어서 던져주고
쿼리단에서는 동적쿼리로 구현하시면 됩니다.
pivot (집계함수 for xx in (받은 문자열))
by DB초보자입니다
[2019.11.01 15:17:01]
프로그램단이 아닌 쿼리 내에서 데이터만 뽑아주려고합니다ㅠㅠ일회성이라서ㅠㅠ
by 모래가흙흙
[2019.11.01 19:52:49]
가공되지 않은 데이터 추출 후, 엑셀에서 피벗으로 만들어주면 안되나요
by 마농
[2019.11.04 08:49:25]
막연하게 비효율일것 같다 라고 생각하지 마세요.
쓸데 없이 사용한다면 비효율이겠지만
필요에 의해서 사용한다면 비효율이라고 볼 수 없죠.
SUM(DECODE 방법도 있고, PIVOT 방법도 있습니다.
다만, 진짜 꼭 필요한가? 가 의문이네요.
애초에 결과 포멧을 다르게 해야 하지 않을까? 생각됩니다.
이 포멧이 꼭 필요하다면 할 수 밖에 없습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.