반응형
내 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
반응형
'MySql' 카테고리의 다른 글
MySQL이 시작되지 않음, InnoDB를 사용할 수 없음 (0) | 2020.09.24 |
---|---|
MySQL 메모리 제한 늘리기 (0) | 2020.09.24 |
MySQL PDO를 사용한 행 수 (0) | 2020.09.23 |
MySQL MYSQL IN 문 (0) | 2020.09.23 |
MySQL 오류 1044 (42000) : '@'localhost '사용자가'db '데이터베이스에 대한 액세스가 거부되었습니다. (0) | 2020.09.23 |
댓글