안녕하세요.
재귀쿼리를 사용하다가 Lag 함수를 라는 것을 알게 되어서
Lag 함수를 질문을 드리게 되어 글을 작성하게 되었습니다.
Lag 함수를 사용하니 상당히 편하다는 것을 느낄 수 있었는데요.
아래와 같은 단순한 예제에서도 Lag 함수 만으로 결과값이 뽑힐 수 있는지 궁금해서 질문 드립니다.
일반적으로는 재귀쿼리로 완성이 가능할 것 같으나 LAG 함수를 이용하여 할 수도 있겠다는 생각이 들었습니다.
Lag 함수로도 충분히 가능할 것 같은데.. 제가 생각을 못하는거 같아 고수님들께 질문 드립니다.
DROP TABLE PRAC.DBO.TB_AD_OPER_PLAN CREATE TABLE PRAC.DBO.TB_AD_OPER_PLAN ( OPER_CD NVARCHAR(50) , PLANT_CD NVARCHAR(50) , CLASS NVARCHAR(50) ) INSERT INTO PRAC.DBO.TB_AD_OPER_PLAN SELECT 'O_001' AS [OPER_CD], 'P001' AS [PLANT_CD], 'A' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P001' AS [PLANT_CD], 'B' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P001' AS [PLANT_CD], 'C' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P002' AS [PLANT_CD], 'A' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P002' AS [PLANT_CD], 'B' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P002' AS [PLANT_CD], 'C' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P002' AS [PLANT_CD], 'D' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P002' AS [PLANT_CD], 'E' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P002' AS [PLANT_CD], 'F' AS [CLASS_ID] UNION ALL SELECT 'O_001' AS [OPER_CD], 'P002' AS [PLANT_CD], 'G' AS [CLASS_ID]
* SSMS 2014