2011-03-10 4 views
0

두 테이블에 걸쳐 계층 적 데이터에 대한 조인 쿼리를 만들어야합니다. 이 테이블의 데이터 무제한을 가질 수 있으며, 다음과 같이 그 구조는 다음과 같습니다계층 적 데이터를 사용하여 mysql join 쿼리를 생성하는 방법

group_id  group_name  group_order 
    1   group 1   2 
    2   group 2   1 


field_id field_name parent_group field_order 
    1   field 1   1    1 
    2   field 2   2    2 
    3   field 3   2    1 

저는 현재의 결과에서 만든 루프 내부의 두 번째 쿼리와 2 개 선택 쿼리를 사용하여 데이터의 올바른 형식을 얻을 수 있어요 그룹 테이블에 대한 첫 번째 쿼리.

내가 결과에서 필요한 데이터의 구조는 다음과 같습니다

-group 2 
     - field 3 
     - field 2 

- group 1 
     - field 1 

가 하나 개의 MySQL의 쿼리에서 이러한 결과를 얻을 수 있습니까? 내가 계층 적 데이터에 대한 MySQL의 문서를 통해 내가 조인을 통합하는 방법에 대해 혼란스러워 읽었습니다. 보고에 대한

감사

답변

0

당신은 당신의 필드를 선택 할 수 있어야한다, 계층 적 데이터의 관점에서 생각해야하고 그룹에 가입하지 말아야 정보. 그런 다음 당신은 또한 올바른 그룹 순서로, 해당 그룹과 행으로 각 필드를 얻을 것이다

SELECT * 
FROM Fields AS F 
INNER JOIN Groups AS G 
ON G.group_id = F.parent_group 
ORDER BY group_order, field_order 

: 같은 것을보십시오. 루프가 필요한 디스플레이를 처리 할 수 ​​있어야합니다.

+0

감사합니다. 네, 맞습니다. 저는 틀린 논리를 사용하여 성명을 작성하려고했습니다. –

관련 문제