2017-12-01 1 views
-1

모든 테이블의 모든 열을 DB 형성 얻을, 카테고리와 PRODUCT_CATEGORY 여기쿼리 3 개 테이블 내가 3 개 테이블 제품이

  1. 제품 = ID (PK), 이름, SKU, ...
  2. 테이블의 strutures은
  3. 카테고리 = ID (PK), 이름, PARENT_ID (자기 관계)
  4. PRODUCT_CATEGORY = CATEGORY_ID (FK), PRODUCT_ID (FK)는 여기

내 쿼리입니다

을 실행하므로
SELECT `products`.*,`product_category`.`category_id` as catid FROM `products` LEFT JOIN `product_category` ON products.id = product_category.item_id GROUP BY `products`.`id` 

그것은 product_category 테이블에서 모든 제품 및 category_id를 가져옵니다. category.name과 마찬가지로 범주 테이블의 데이터도 필요합니다. 내가 어떻게 할 수 있니?

+0

그냥 하나 category' 테이블 –

답변

2

간단하지 않은가 ..?

SELECT * 
FROM products p 
    JOIN product_category pc ON p.product_id = pc.product_ID 
    JOIN category c ON pc.category_id = c.category_id; 
+0

'에 가입 더 정확한 보이는,하지만 '일반은 일반적으로 좋은 일이 아니다에'SELECT * 있습니다. –

+0

OP가 DDL을 제공하지 않았다는 것을 고려해 볼 때, 나는 그들의 컬럼 이름을 알 방법이 없다. 나는 그들이'... '이라는 칼럼을 가지고 있지 않을 것이라고 확신한다. :) – Larnu

+0

당신은 분명히 알 수있는 방법이 있습니다 - 명확한 때 질문 & 답변에 대한 의견. – philipxy