쿼리 결과와 관련된 모든 카테고리 ID를 어떻게 반환합니까? 선택에 내가 3 CATEGORY_ID, 7
을 CATEGORY_ID 그러나 나는 또한 어떤 CATEGORY_ID의 (옵션)를 알고 싶다가있는 모든 제품 ID의를 얻을 수 아래의 쿼리에서 결과에 따라 빈 범주를 제거 하시겠습니까?
items_cats: (many to many)
product_id | category_id
====================
1 | 1
1 | 2
1 | 4
1 | 7
2 | 1
2 | 3
2 | 4
2 | 7
3 | 1
3 | 3
3 | 4
3 | 8
여전히의 producs_id 한베이스 :
예를 들어 나는이 쿼리가 반환 (코드 예제를 기반으로) 좋아 :
-product_id = 2
-category_id의 : 7, 3, 4,
1이 사용하는 아마 쿼리를 limet 싶은 것 페이지 당 최대 항목 수입니다. 내가
코드, 지금까지 도착했습니다 : 고양이 아이디의 느슨한 쿼리에
SELECT
DISTINCT t1.product_id, t1.category_id
FROM
items_cats t1
INNER JOIN
items_cats t1b
ON t1.product_id =t1b.product_id
WHERE
t1.category_id=3 AND
t1b.category_id=7
문제 : 물론
SELECT
e1.category_id
FROM
drinks_ingredients e1
WHERE
e1.category_id=2
그것은이 반환하지만 나는 그것을 반환하고자 1, 2, 4, 7.
다른 방법으로 작업 할 수 있지만 제품 및 범주가 많은 경우 어떻게 효율적으로 만들 수 있습니까? 그 쿼리를 결합 할 수 있습니까?
SELECT DISTINCT
t1.category_id
FROM items_cats t1
WHERE t1.product_id = 2
이'iid' 열이 무엇인가
product_id
은 위의 표에 어디 그런 다음 우리는 단지 모든category_id
을 선택? –은 실수로 바뀌 었습니다. – Hank12312