2013-11-14 6 views
-2

두 개의 테이블 및 category_description 테이블이 있어야합니다. 열이있는 경우중첩 세트 모델 MySQL

범주 테이블에 삽입 한 후 category_id를 category_description 테이블에 삽입하십시오. 내 질문에 내가 parnet와 자식 이름으로 범주를 선택하고 범주이 "PARENT_NAME"

+0

왜 두 개의 테이블이 있습니까? 그들의 관계는 1 : 1이므로 데이터를 단일 테이블로 결합 할 수 있습니다. – morgoth84

+0

이것은 중첩 세트 모델이 아닙니다. 또한 간단한 자체 조인을 원하지 않습니까? 어떤 검색어를 시도 했습니까? – AgRizzo

+0

OpenCart 전자 상거래 솔루션입니까? –

답변

0

실행이 표시되어야하지 않을 경우는 을이 "PARENT_NAME> CHILD_NAME"를 표시해야 아이가있는 경우이

처럼 표시하는 방법입니다 부모 카테고리가 parent_id 열에 NULL이 있다고 가정합니다.

SELECT CONCAT(parent_description.name, 
       COALESCE(CONCAT(' > ', child_description.name) 
         ,'') 
      ) AS display_this 
FROM category AS parent 
JOIN category_description AS parent_description 
    ON parent.category_id = parent_description.category_id 
LEFT JOIN category AS child 
    ON parent.category_id = child.parent_id 
LEFT JOIN category_description AS child_description 
    ON child.category_id = child_description.category_id 
WHERE parent.parent_id IS NULL