부모/자식 관계 구조가있는 테이블이 있습니다.단일 ID를 기반으로 모든 행을 얻는 방법
- 실제 위치 (유형 = 1)
- 하위 그룹 (유형 = 10)
- 헤드 그룹 (유형 = 100)
:
엔티티의 3 종류가 있습니다 예제 구조
id parent name type
28 0 Head Group 100
10 28 --Location 1 1
12 28 --Location 2 1
16 28 --Location 3 1
17 28 --Location 4 1
19 28 --Location 5 1
29 28 --Location 6 1
8 28 -Sub Group 1 10
11 8 --Sub Group 1 Location 1 1
30 28 -Sub Group 2 10
13 30 --Sub Group 2 Location 1 1
14 30 --Sub Group 2 Location 2 1
15 30 --Sub Group 2 Location 3 1
1d28 (헤드 그룹)이 전달 된 경우 모든 행을 선택하십시오.
나는 진술을 만들려고 노력했지만 이것이 나를 넘어선 것 같습니다. 어떤 도움을 주시면 감사하겠습니다 ...
SELECT CGroup.id,
CGroup.parent,
CGroup.name,
CGroup.type
FROM Customer AS CGroup
INNER JOIN Customer AS CSubGroup
ON CSubGroup.parent_id = CGroup.id
WHERE CGroup.parent_id=28
쿼리 결과를보고 싶습니까? – Hamidreza
여기에서 중요한 질문은 계층/상속의 수준 수에 상한값이 있습니까? 아니면 n 수준으로 일반화해야합니까? 예를 들어, 3 레벨보다 깊지 않을 것이라는 확신이 들면 쿼리가 쉽습니다. n 레벨이라면 코드 나 저장 프로 시저가 필요합니다. – RobP
현재 2 레벨 밖에 없으며 그게 전부입니다. –