누군가가 MySQL (v5.0.51) 쿼리에 도움이 될지 궁금합니다. 이 같은 테이블이 있습니다MySQL 쿼리에 대한 도움말
하위 범주 열에서 NULL와 각 항목은 최상위 범주와이 하위 범주에 속하는 최상위 카테고리 알려주는 하위 범주의 값을 나타냅니다category_id | category_text | subcategory
25 | Motor Controls | NULL
26 | Contactors | 25
27 | Overloads | 25
28 | Motors | NULL
29 | Accessories | 28
. 접촉기 및 각 하위 모터 지금
컨트롤 I 저장하는 PRODUCTS 테이블에이 값을 이용 CATEGORY_ID (25)는 25의 값을 갖기 때문에 과부하는 모터 제어에 속한다 : 위 예
여기에서는 하위 카테고리의 category_id 만 저장합니다.product_id | product_item | product_supplier_id | product_description | product_category_id
24 | Product A | 39 | Product A description | 27 --category_id of subcategory (ie.Overloads)
25 | Product B | 39 | Product B description | 26 --(Contactors)
오전 데 문제는 내가 (다른 사람의 사이에서) PRODUCTS 테이블을 조회 할 수 있습니다 하나 SQL 쿼리를 필요 범주와 하위 범주 BOTH를 가지고 있다는 것입니다. 나는 둘 중 하나를 위해 그것을 할 수 있지만 둘 다 할 수는 없다. 나는 UNION, JOINS 등을 시도했지만 그것을 얻지 못하는 것 같습니다. 이것은 내가 지금까지 하위 범주를 가져 오는 것입니다.
SELECT p.*, c.company_name, pc.category_text AS subcategory
FROM products p, company c, product_categories pc
WHERE p.product_supplier_id = c.company_id
AND p.product_category_id = pc.category_id
결과가 아래와 같이 생성됩니다.
product_id | product_item | product_supplier_id | product_description | product_category_id | company_name | subcategory
24 | Product A | 39 | Product A description | 27 | Product A Supplier | Overloads
25 | Product B | 39 | Product B description | 26 | Product B Supplier | Contactors
기본적으로 내가 원하는 것은 내가 테이블이 생성되는 방식으로이 작업을 수행 할 수있는이
24 | Product A | 39 | Product A description | 27 | Product A Supplier | **Motor Controls** | Overloads
처럼 보이는 각각의 하위 범주에 대한 올바른 최상위 범주를 포함하는 열을 추가하는 것입니다 또는 그것을 수정해야합니까?
미안 내가 이해하기 쉽도록 좋은 이미지가 있지만 미안하지만 "평판"이 1 인 경우 게시 할 수 없습니다.
도움을 주시면 감사하겠습니다. PHP에서 MySQL 데이터베이스에 액세스하기 위해 쿼리를 사용하고 있습니다.
감사
감사를 더 나은 지원이 있었으면 좋겠다! 그것은 완벽하게 작동했습니다. 나는 그것이 필요한 것보다 더 복잡하게 만들었다 고 생각합니다 ... 모든 사람들이 해결책을 제시 할 때 그것을 말하는가? 다시 한 번 감사드립니다! – user558720