본문 바로가기
반응형

개발자 :-)/SQL15

MSSQL PL/SQL 시스템 함수 정리(@@TRANCOUNT, @@ROWCOUNT 등) 프로젝트에서 개발기간 다 지나고 나니 이제서야 보이는 내 비효율적인 프로시저 코드를 리팩터링하면서 정리하는MSSQL 문법(시스템 함수 정리) 시스템 함수SQL Server 인스턴스에서 작업을 수행하고 값, 개체 및 설정에 대한 정보를 반환하는 함수.  시스템 함수 종류$PARTITIONERROR_PROCEDURE@@ERRORERROR_SEVERITY@@IDENTITYERROR_STATE@@PACK_RECEIVEDFORMATMESSAGE@@ROWCOUNTGET_FILESTREAM_TRANSACTION_CONTEXT@@TRANCOUNTGETANSINULLBINARY_CHECKSUMHOST_IDCHECKSUMHOST_NAMECOMPRESSISNULLCONNECTIONPROPERTYISNUMERICCONTEXT.. 2025. 2. 3.
[MSSQL] mybatis에서 동적쿼리+pivot 사용하기+ 행을 열로 바꾸기 * 쿼리 사용하는 케이스 가정Apparel ERP시스템에서 아래의 테이블들을 가지고 각 주문의 스타일/컬러별 사이즈를 행이 아닌 열의 형태로 동적으로 표현하려고 한다.1) 발주확정 전 샘플스타일 테이블2) 발주확정 후 스타일 테이블3) 스타일별 사이즈 정보 테이블4) 주문테이블(주문seq에 따라 스타일, 컬러, 사이즈 컬럼을 가진 테이블)원하는 결과 구조주문정보샘플스타일스타일사이즈1사이즈2...사이즈N  스타일1(사이즈1의 수량)  (사이즈N의 수량) 샘플스타일1  (사이즈2의 수량) (사이즈N의 수량)  스타일2(사이즈1의 수량)(사이즈2의 수량)   (방법 1) PIVOT 사용 DECLARE @COLUMNS NVARCHAR(MAX) DECLARE @SQL NVARCHAR(MAX) SET @COLUMN.. 2024. 11. 12.
[ORACLE] PIVOT 동적 컬럼 사용하기(입력받은 날짜를 열로 표현) 날짜를 파라미터로 받고 그 날짜기준으로 8일치의 데이터를 행이아닌 열로 보는 상황 내 케이스는 코스트센터의 유형에 따라 생산성(물량/근무시간)을 아래와 같은 형식으로 뽑아야함 유형의 순서는 정해져있따,, 유형 센터명 D+7 D+6 D+5 D+4 D+3 D+2 D+1 DDay 유형 계 . . . 1. 입력받은 날짜를 CASE WHEN 조건에 넣고, 그걸 ALIAS를 주면 PIVOT 기준 열로 사용 가능하다. 2. 센터의 유형 순서가 정해져있어서 순서를 표현하기 위한 CATE라는 가상 항목을 만들었다. (10개 이상이라 알파벳으로 순서표현) 3. 유형 계 항목을 위해(UNLOAD_PRODUCTY라는 컬럼 사용불가, SUM(물량), SUM(근무시간)을 따로 계산 必) UNION으로 가상 행을 만들고 센터코드로.. 2023. 1. 30.
[SQL] 오라클 LAG, LEAD 함수 사용법(이전 행값, 다음 행값 가져오기),전일대비 구하기 대시보드 개발 중인데 전일대비 값을 한 쿼리로 가져오는 방법에 대해 엄청 고민이 됐다,,, 맨처음에는 아래처럼 DECODE 처리한 쿼리를 또 한번 감싸서 SUM하는 식으로 했는데 뭔가 결과값이 틀린것같다,, 다른 방법이 있을 것 같아서 찾아봤더니 LAG와 LEAD라는 함수가 있었다. ~~ DECODE(ORD_DTM, 기준날짜, WHOUT_QTY, 0) AS TOTAL --기준일 합계에 사용할 수량 DECODE(ORD_DTM, 전일자, WHOUT_QTY, 0) AS BEF_TOTAL --전일 합계에 사용할 수량 SELECT NVL(SUM(TOTAL), 0) AS TOTAL ,NVL(SUM(BTOTAL), 0) AS BTOTAL , CUST_CD , CUST_NM FROM ( SELECT DECODE(A.O.. 2023. 1. 5.
728x90
반응형