oracle > mysql 변환 도움을 구합니다. 0 4 1,298

by 고수로. [MySQL] [2022.07.07 17:51:42]


안녕하세요.

ORACLE > MYSQL로 변환을 하는 과정에서 START WITH CD 부분을 어떤식으로 변환해야하는지 구글링을 해서 적용해보려 해도 잘 안되네요... 선배님들의 도움을 얻고자글을 남깁니다.

변환하기 위한 Oracle의 SQL 은 다음과 같습니다..(_ _).

ASIS : ORACLE

SELECT
	DISTINCT CD, UPPR_CD
FROM (SELECT CLSS_STRUC_DOMAIN_CD AS CD, UPPR_CLSS_STRUC_DOMAIN_CD AS UPPR_CD
	    FROM TB_TESTA
	   WHERE USE_YN = 'Y'
UNION
SELECT ACCTG_DEPT_CD AS CD, CLSS_STRUC_DOMAIN_CD AS UPPR_CD
  FROM TB_TESTB
 WHERE USE_YN = 'Y')
WHERE 1 = 1
START WITH CD = 'A100' CONNECT BY PRIOR CD = UPPR_CD

감사합니다.

by 우리집아찌 [2022.07.07 18:04:59]

by 고수로. [2022.07.08 08:57:58]

소중한 답변 감사합니다.

참고해서 해결해보겠습니다. (_ _).


by 마농 [2022.07.08 08:09:17]
-- 기존 쿼리에 Distinct 는 불필요한 코드입니다.

WITH RECURSIVE t2 AS
(
WITH t1 AS
(
SELECT clss_struc_domain_cd      AS cd
     , uppr_clss_struc_domain_cd AS uppr_cd
  FROM tb_testa
 WHERE use_yn = 'Y'
 UNION
SELECT acctg_dept_cd        AS cd
     , clss_struc_domain_cd AS uppr_cd
  FROM tb_testb
 WHERE use_yn = 'Y'
)
SELECT cd
     , uppr_cd
  FROM t1
 WHERE cd = 'A100'
 UNION ALL
SELECT c.cd
     , c.uppr_cd
  FROM t2 p
 INNER JOIN t1 c
    ON p.cd = c.uppr_cd
)
SELECT *
  FROM t2
;

 


by 고수로. [2022.07.08 08:58:18]

소중한 답변 및 불필요한 코드에 대한 정보 감사합니다.

참고해서 해결해보겠습니다. (_ _).

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입