2013-10-12 2 views
1

일부 카테고리가 있지만 그 중 일부는 하위 카테고리가 있습니다. 그래서 나는 나무를 가지고있다.데이터베이스의 트리를 로딩 중

카테고리이라는 테이블을 만들었습니다. id 필드는 기본 키이며 다른 필드는 입니다. (계층 적으로 만들기 위해)으로 참조되는 외래 키입니다. 당신은 내가 어떤 ID를 지정하기 위하여려고하고 여기에 데이터의보기

enter image description here

을 가질 수 있으며 쿼리 나에게 ID '에 해당 범주 의의 모든 하위 범주을 제공합니다. 나는 빨간 thisthis one을 가지고 있지만 유용하지는 않습니다.

한 번 더 : 나를 묻는 질문이 아닙니다. 일부 힌트를 찾고 있습니다.

+1

재귀 CTE를 살펴보십시오. 실제로 그것을 생각 해보니 당신이 사용하고있는 SQL의 맛을 언급하지 않았습니다 ... – Aron

+1

어떤 DB를 사용하고 있습니까? SQL Server를 사용하는 경우 재귀 CTE가 수행합니다. – Miller

+5

@MillerKoijam : SQL Server "전문 분야"가 아닙니다. Postgres, Firebird, Oracle, Teradata, DB2 및 Cubrid는 재귀 쿼리도 지원합니다. –

답변

0

두 가지 옵션을 제안합니다.

1)를 지정하여, 구현이 중간 계층이 무엇인지 (J2EE에 따라 달라집니다,

select column1, cursor(select * form table2) as cursorOfTable2 from table1 

다음 중간 계층 코드에서 참조 할 수있는 하위 커서를 서브 커서를 포함하려면이 옵션을 선택합니다. 그물, ...)

2)를 선택

select a.id as parentId, b.id as child_id, from table1 a, table2 b 
where a.id = b.parentId 

그리고 다시 중간 계층 코드에서 만들 수있는 부모 C에서 부모 자식 관계를 지정 이 데이터를 사용하여 데이터 구조를 hild하십시오.

희망이 맞는 것입니다.

+0

감사합니다. 더 많은 설명이 포함 된 관련 링크가 있습니까? – Salman

+0

무엇에 대한 설명을 원하십니까? – Sumit