2012-02-16 2 views
3

모든 항목 (mySQL)의 부모 ID는 어떻게 찾을 수 있습니까? 출력은 다음이어야한다부모가 동일한 테이블에서 재귀 호출

ID  PARENTID NAME 
9146 NULL  thing1 
9147 NULL  thing2 
9148 9146  thing3 
9149 9148  thing4 
9150 NULL  thing5 
9151 9149  thing6 
9152 9147  thing7 

(가 잠재적으로 계층 구조의 수준 ...이 아닌 최고의 디자인의 무한한입니다,하지만 내가 함께 일하고 있어요 무엇을) :

ID  REAL_PARENTID 
9146 NULL (or self 9146) 
9147 NULL (or self 9147) 
9148 9146 
9149 9146 
9150 NULL (or self 9150) 
9151 9146 
9152 9147 
+0

상위 상위 또는 하위 상위 상위까지 올라야합니까? 신경 쓰지 마세요, 당신이 꼭대기에 올라야한다고 봅니다. –

+1

이 질문에 대한 답변 : http://stackoverflow.com/questions/3704130/recursive-mysql-query를 사용해야합니다. –

+0

예가 불분명합니다. 게시 된 데이터에서 찾고자하는 것이 테이블에서 SELECT * ID, PARENTID 인 것 같습니다. 문제가 무엇입니까? –

답변

1

실제로 MySQL 저장 프로 시저 프로그래밍을 사용하여 트리 순회를 스크립팅했습니다.

나는 DBA StackExchange back in Oct 24, 2011에서 그런 질문에 대답했다. 또한 샘플 데이터도 포함되어 있습니다.

재미있게 보내십시오.

0

당신이 할 수있는 그것을하는 방법을 학습이 쉽게 사용하여 SQL CTE 테이블 (재귀 쿼리)

확인이 작업을 수행 :

http://msdn.microsoft.com/en-us/library/ms186243.aspx

+2

그것은 MySQL이야 ... :) http://stackoverflow.com/questions/1382573/how-do-you-use-the-with-clause-in-mysql – Asken