재귀 쿼리 질문입니다.

유리의성 2016.06.08 18:03 Views : 2825

CREATE TABLE #TEMP(
 ROW INT IDENTITY,
 LOT CHAR(1),
 GU CHAR(1),
 GROUPCODE INT)

INSERT INTO #TEMP
VALUES
('A', '1', 1),
('B', '1', 2),
('A', '2', 3),
('B', '2', 4),
('A', '1', 3),
('B', '1', 4),
('A', '2', 5),
('B', '2', 5),
('C', '1', 5)
;

WITH QTY(LOT, GROUPCODE, GU, LEVEL, row, prn_code) AS
(
 SELECT LOT, GROUPCODE, GU, 1 AS LEVEL, CAST(row AS INT) ROW, 0 as prn_code
   FROM #temp
  WHERE LOT = 'C'
    and gu = (SELECT MAX(Gu)
                 FROM #temp
                WHERE LOT = 'C')
  UNION ALL
 SELECT A.LOT, A.GROUPCODE, A.GU, B.LEVEL + 1, CAST(A.ROW AS INT), B.row
   FROM #temp A
   INNER JOIN QTY B
      ON (B.GU = 1 AND A.GU = 2 AND A.GROUPCODE = B.GROUPCODE)
      OR (B.GU = 2 AND A.GU = 1 AND A.LOT = B.LOT AND A.GROUPCODE <> B.GROUPCODE AND A.GROUPCODE = (SELECT MAX(GROUPCODE)
                                                                                                      FROM #TEMP
                                                                                                     WHERE GU = A.GU
                                                                                                       AND LOT = B.LOT))  
)  
SELECT * FROM QTY

DROP TABLE #TEMP


여기서 재귀 아래에 MAX부분땜에

재귀 공통 테이블 식 'QTY'의 재귀 부분에는 GROUP BY, HAVING 또는 집계 함수를 사용할 수 없습니다.


이런 에러가 발생하는데 저런 모양의 재귀쿼리를 동작이 되도록 다른쿼리로 바꿀수 있나요?

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 28245
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 15455
9381 안녕하세요.. 제발 도와주세요 ㅜㅜ (sql connectino 에러) [1] mj124356 2016.06.13 5911
9380 안녕하십니까 선배님들 질문하나 드립니다 (트랜잭션잠금에러) [2] 플러미 2016.06.13 3211
9379 중복 데이터 표시 문의 [2] 다은빈아빠 2016.06.09 4078
9378 합계(SUM) 질문 입니다 ㅠㅠ [1] 떠벙이 2016.06.09 3036
9377 SQL 프로시저 수정요청드립니다 [11] 미련곰퉁아 2016.06.09 3429
» 재귀 쿼리 질문입니다. 유리의성 2016.06.08 2825
9375 master, tempdb 접근제한 진실세상 2016.06.08 2259
9374 설치 문의 ㅜㅜmanagement 가설치가 안되요 . [2] 초보sql하 2016.06.08 2407
9373 쿼리 로그 질문입니다. 유리의성 2016.06.08 2692
9372 LDF 파일 용량에 관한 질문입니다. [4] 정진범 2016.06.07 3091
9371 SQL 관련 질문입니다. [2] 다복이 2016.06.07 2407
9370 cte 안에서 ROW_NUMBER()? [3] 밥먹는푸우 2016.06.05 2765
9369 오라클 SQL 질문입니다.!! [2] 에휴 2016.06.05 3603
9368 다른 테이블의 각각의 결과값을 한번에 보고 싶어요ㅠㅠㅠ [2] 시랑 2016.06.05 2516
9367 sa사용자 암호 자동변경 문제점좀 도와주세요 [1] 뉴곰이 2016.06.04 2957
9366 mssql2014 시퀀스 질문드립니다. [1] 식뽕 2016.06.03 2659
9365 db 백업 방법 문의 [1] WildWindK 2016.06.03 3041
9364 데드락인데, 정보가 별로 남지 않는데, 이 경우 확인 할 방법이 없을까요? [1] 군고구마 2016.06.03 3057
9363 일정 기간 근무 일 수 구하기 질문 합니다. [1] 후대 2016.06.02 3410
9362 where 단순한문의 드립니다. [2] 아싸라비아콜롬비아 2016.06.02 2628





XE Login