2010-06-12 8 views
-1

내 테이블에 category_name 및 parent_category_Id 열이 포함되어 있습니다.테이블에서 행을 선택하는 방법

내 parent_category 데이터에 동일한 테이블 기본 키 ID가 있습니다.

SELECT c.category_name, p.category_name 
    FROM categories c LEFT JOIN parent_categories p 
    ON c.parent_id = p.id  

PS :

난 내가 좋아하는 뭔가를 시도 catogry_name에게

답변

1

을이 질문에서 분별하기 어렵다하지만 나는이 필요하시면 생각 :

: 하나 개의 테이블을 가지고 당신은 당신의 데이터베이스를 재구성해야

Select c.* 
From category c 
    Join parent_category pc ON c.parent_category_id = pc.id 
Where pc.category_name = 'Some Name' 
+0

작동하지만 부모 행을 가져올 수 없습니다 ... 부모 행에 행 값이 0으로 포함되어 있습니다. – TinTin

+0

@ Ayyappan.Anbalagan - 조금 명확히 할 수 있습니까? 상위 테이블의 데이터를 원한다면'Select pc. *, c. *', 또는 더 나은 것을 선택하여 실제로 원하는 열을 선택할 수 있습니다. 그러나 질문에서 정확하게 모르겠습니다 * 너 쫓고있어. –

0

id, name 및 parent 열을 포함하며 부모 열은 동일한 테이블의 id 열을 참조합니다. 현재 데이터베이스가 정규화되지 않았으므로 향후 문제가 발생할 수 있습니다.

최소한 카테고리 테이블에 auto_increment id 열이 있어야합니다.

다른 답변은 올바른 것입니다 (사용중인 SQL 서버에 따라 다름).

관련 문제