2020년 2월 18일 화요일

[mysql] 계층형 쿼리: 상위 그룹 아이디 가져오기

SELECT
  T1.C_ID AS COMPANY_ID
FROM
  (
    SELECT
      @r AS C_ID,
      (
        SELECT
          @r := PARENT_ID
        FROM
          COMPANY
        WHERE
          COMPANY_ID = C_ID
      ) AS parent
    FROM
      (
        SELECT
          @r := 317
      ) vars,
      COMPANY H
    WHERE
      @r <> 0
  ) T1
WHERE
  1 = 1
AND T1.C_ID <> 317   -- 자기자신은 제외



COMPANY  란 테이블이 있고 PARENT_ID 컬럼이 있는 계층형 테이블이다.
계층형 테이블의 특정 로우의 상위 그룹 시퀀스 값을 가져올수 있다.


댓글 없음:

댓글 쓰기

[oracle]옵티마이저(Optimizer)와 실행 계획, 실전 튜닝 기초 완벽 정리

[Oracle SQL] 옵티마이저(Optimizer)와 실행 계획, 실전 SQL 튜닝 가이드 이 가이드에서는 오라클 데이터베이스의 핵심 엔진인 옵티마이저의 원리를 이해하고, DBeaver와 SQL Developer를 활용하여 실제 쿼리의 실행 계획을...