다른 사람으로부터 상속 된 프로젝트에서 'categories'라는 MYSQL 테이블이 있습니다.MYSQL 결과의 테이블에서 상위 카테고리 이름 검색
id parent_id name
1 NULL Travel
2 NULL Sleep
3 NULL Eat
4 NULL Bath
5 1 Prams
6 1 Travel Systems
7 2 Cots
8 3 High Chairs
표는 분명히 그보다 훨씬 큽니다. 그러나 당신은 일반적인 생각을 가지고 있습니다. 나는이 테이블을 다른 카테고리, 브랜드 및 제품 테이블과 함께 가져 오는 MYSQL 문을 가지고 있지만 기본적으로 위의 테이블에서 부모 범주 이름을 문에 하위 범주와 함께 나열하려고합니다. 어떻게해야합니까?
SELECT brands.name, products.name, categories.id, categories.name, brands.id,
FROM `products` , `brands` , `categories`
WHERE products.brand_id = brands.id
AND products.category_id = categories.id
AND brands.name = '$brand'
ORDER BY categories.name, products.name
가 어떻게 결과에서 상위 카테고리 이름을 검색 않습니다
나의 현재 문은 뭔가처럼? 예를 들어 제품이 Pram 인 경우 어떻게 "여행"을 출력 할 수 있습니까? 루프에서 별도의 MYSQL 문을 수행 할 수 있지만 이것을 피하고 싶습니다. 이것은 바보 같은 간단한 질문입니다 (이 경우 나는 뇌사에 대해 사과합니다) 아니면 좀 더 복잡합니다! 감사.
SELECT name FROM categories WHERE id = (SELECT pid FROM categories WHERE name = $brand)
편집 :
감사합니다. 나열된 각 제품의 parent_id와 하위 카테고리 이름을 알고 있습니다. 하위 카테고리와 함께 나열된 각 제품의 상위 카테고리를 나열하고 싶습니다. 범주 이름을 검색하는 위의 쿼리 내에서 syb 쿼리를 수행 할 수있는 방법이 있습니까 (예 : category.name from category.parent_id = category.id) – iagdotme
그 다음 다른 질문입니다. 위의 새 응답을 참조하십시오. – Flupkear
설명하기가 어렵습니다. 범주 테이블에는 동일한 테이블에 범주와 하위 범주가 있습니다. 예를 들어 처음 4 개는 "상위 카테고리"(부모 ID는 NULL로 설정 됨)이고 나머지는 "하위 카테고리"입니다. 따라서 상위 ID가 "3"이므로 상위 카테고리의 "높은 의자"는 "Eat"입니다. 솔직하게 말해서 나는 테이블의 구조가 싫어서 내 인생을 어렵게 만들고 있습니다! – iagdotme