본문 바로가기
MySql

MySQL MSSQL CTE 쿼리를 MySQL로 변환하는 방법은 무엇입니까?

by 베이스 공부 2020. 9. 23.
반응형

내 MySQL 스키마에는 category (id, parentid, name) 테이블이 있습니다.

MSSQL에는 CTE 쿼리가 있습니다 (제공된 카테고리 ID에 대해 아래에서 위로 카테고리 트리를 작성하기 위해).

with CTE (id, pid, name) 
as
(
    select id, parentid as pid,name
    from category
    where id = 197
      union all
        select CTE.pid as id , category.parentid as pid, category.name
        from CTE 
          inner join category 
            on category.id = CTE.pid
 )
 select * from CTE 

해당 쿼리를 MySQL로 '변환'하는 방법은 무엇입니까?

 

해결 방법

 

불행히도 MySQL은 CTE (Common Table Expressions)를 지원하지 않습니다. 이것은 기한이 지난 IMO입니다. 종종 하위 쿼리를 대신 사용할 수 있지만이 특정 CTE는 재귀 적 입니다. 쿼리 내에서 자신을 참조합니다. 재귀 CTE는 계층 적 데이터에 매우 유용하지만 MySql은이를 전혀 지원하지 않습니다. 동일한 결과를 얻으려면 저장 프로 시저를 구현해야합니다.

내 이전 답변은 좋은 출발점이 될 것입니다.


 

참조 페이지 https://stackoverflow.com/questions/8833535

 

 

반응형

댓글