작콩큰콩
[mssql] 재귀쿼리(부모 아래 자식 모두 찾기) 본문
재귀 쿼리 기본 모양
WITH 테이블명 AS
(
<쿼리문1 : SELECT * FROM TABLE_A>
UNION ALL
<쿼리문2 : SELECT * FROM TABLE_A JOIN 테이블명>
)
SELECT * FROM 테이블명;
재귀 쿼리로 부모 아래 자식 모두 찾기
WITH AUTH_ALL AS( -- 관리부장 권한 아래 있는 모든 권한 (재귀)
SELECT
*
FROM
SYS_AUTH
WHERE
AUTH_CD = #{authCd} -- 부모의 조건
AND DEL_YN = 'N'
UNION ALL
SELECT
B.* -- 자식의 모든 것
FROM
AUTH_ALL A -- with 테이블
INNER JOIN SYS_AUTH B -- 본 테이블
ON B.AUTH_PARENT_SEQ = A.AUTH_SEQ -- 본 테이블의 부모 순번이 with 테이블에 순번과 같은 때
AND B.DEL_YN = 'N'
)
SELECT * FROM AUTH_ALL
'작은 콩 개발자 > SQL' 카테고리의 다른 글
console 창에 쿼리 표시 하기 log4jdbc 사용하기 (0) | 2023.08.06 |
---|---|
[오라클 / oracle ] 오라클 더미 데이터 (0) | 2023.06.22 |
[mssql] 시퀀스 생성, 사용, 삭제 (next value for 사용하기) (0) | 2023.06.20 |
[mssql] 두 행을 하나로 합치는 쿼리 (STUFF, XML PATH) (0) | 2023.05.30 |
[mssql] insert into select / 조회된 값으로 insert 하기 (0) | 2023.05.24 |
Comments