2017-12-14 1 views
0

I 대소 문 일련동적 네티 피봇

합 (케이스를 사용하여 네티 피봇 기능을 모방 할 "일월 2017"로 종료) "이월 2017"로

합 = '201702'이 후 다른 0 단부 비용 (SUBSTR (CALL_TIME는, 1,6- 소문자))

합 (케이스 때 SUBSTR (CALL_TIME, 1,6) = '201703', 그 외 비용은 0으로 끝남) "Mar 2017"

동일하지만 동적 열 이름을 사용할 수 있습니까? 매월 별개의 사례 명세서가 필요하지 않으십니까? 비슷한 일을해야하지만 하루가 지나면 고통 스러울 것입니다.

많은 감사와 안부

답변

0

그것은 가능하지만, 당신이 당신의 자신의 피벗 기능을 만들어야합니다. 이 화려한 코드 조각은 dynamic-sql-pivoting-stealing-antons-thunder에 문서화되어 있습니다. 당신이 그렇게하면

, 당신은 쉽게 뭔가 다음과 비슷한 비용을 피벗 수 있습니다

SELECT * 
    FROM TABLE (pivot ('select office, to_char(call_time, ''YYYYMM-MON'') themonth, sum(costs) cost_sum from brianl.deleteme_tbl group by to_char(call_time, ''YYYYMM-MON''), office')); 

내 deleteme_tbl 사무실, 비용, call_time 있습니다. 이 작업을 실행 한 실제 결과는 다음 열이 정렬 된 순서로 나타납니다 그래서 내가 YYYYMM과 날짜를 서문

OFFICE 201701-JAN 201702-FEB 201703-MAR 201704-APR 201705-MAY 201706-JUN 201707-JUL 201708-AUG 201709-SEP 
Anchorage 45   23   15   25   25   5   15   50   30 

.

+0

나는 장님 일 수 있지만 pivot() 함수의 실제 코드는 링크 된 페이지 (또는 후속 링크)에서 찾을 수 없습니다. ... 도와주세요 ... 또한 오라클의 PL/SQL은 netezza와 호환되지 않습니다. 기능보다는 저장 프로 시저에 더 많이 ........ –

+0

@LarsGOlsen 아래 리소스 섹션에서 AntonsPivoting.zip을 다운로드하십시오. SCOTT로 연결되면 먼저 pivotFun.sql을 실행 한 다음 pivot.sql 또는 pivot_distances.sql을 실행하십시오. AntonsPivoting.zip 링크는 [link]입니다 (https://technology.amis.nl/wp-content/uploads/images/antonsPivoting.zip) –

+0

감사합니다 - 의심 스러웠습니다 : 나는 눈이 멀었습니다 :) –