업무용/오라클11 pivot 피벗 /with 임시테이블 피벗참고페이지 > https://gent.tistory.com/42https://dololak.tistory.com/811-- PIVOT은 내부적으로 GROUP BY를 행, 열 두가지 방향으로 실행SELECT * FROM ( 피벗 대상 쿼리문 ) PIVOT ( 그룹합수(집계컬럼) FOR 피벗컬럼 IN (피벗컬럼값 AS 별칭 ... ) with임시테이블 여기서 group by값을 넣는다면반면에 GROUP BY를 사용하면 NOW_DUTY_CD 값 별로 그룹이 형성되기 때문에, 각 NOW_DUTY_CD 값에 대한 COUNT를 계산한 결과가 행별로 표시됩니다. 따라서 NOW_DUTY_CD 값의 개수에 따라 결과 행의 수가 달라집니다. WITH ALL_DUTY_CD AS ( SELECT '0011'.. 2024. 5. 9. 다른테이블 쿼리값 한 row로 합치기 //full outer join FULL OUTER JOIN : 두 개의 테이블이 조인이 되면 조인된 데이터는 한 행으로 출력하고, 각 테이블에서 조인되지 않은 데이터는 별도의 새로운 행으로 출력된다. 조인이 되지 않아도 두 개의 테이블 데이터가 모두 조회 아래에선 rownum을 50으로 맞춰서 괜찮지만 데이터가 다르다면 위처럼 나온다 a랑 b테이블 결과값이 있는데 한 row로 합치려면..rownum으로 값을 줘서 조인후 a.rn = b.rn함SELECT A.EMPNO, A.HDQTS_ORGNM, A.DEPT_ORGNM, A.DEPTMT_ORGNM, A.TEAM_ORGNM, B.EMPNO AS EMPNO1, B.HDQTS_ORGNM AS HDQTS_ORGNM1, B.DEPT_ORGNM A.. 2024. 5. 8. group by와 distinct 사용 시 order by 안되고 order by시 group by안되는 문제 시 파티션 사용! 1. group by와 order by로 가져왔다 근데... rn땜시 이게 group by해도 중복제거가 안된다;; SELECT ORGANIZATION, RN FROM ( SELECT APTMT_YMD , APTMT_CD , ORGCD , LAG(APTMT_YMD) OVER(ORDER BY APTMT_YMD) AS APTMT_PREV , LEAD(APTMT_YMD) OVER(ORDER BY APTMT_YMD) AS APTMT_NEXT , HDQTS_ORGNM || ' ' || DEPT_ORGNM || ' ' || DEPTMT_ORGNM|| ' '|| TEAM_ORGNM AS ORGANIZATION , ROW_NUMBER() OVER (ORDER B.. 2024. 5. 3. LAG, LEAD (이전값, 다음값) LAG(대상 컬럼명) OVER(ORDER BY 대상 컬럼명) LAG 함수 : 이전 행의 값을 리턴LEAD 함수 : 다음 행의 값을 리턴expr : 대상 컬럼명offset : 값을 가져올 행의 위치 기본값은 1, 생략가능default : 값이 없을 경우 기본값, 생략가능partition_by_clause : 그룹 컬럼명, 생략가능order_by_clause : 정렬 컬럼명, 필수 2024. 5. 3. 이전 1 2 3 다음