에 속하는 모든 어린이 제가 세 MySQL의 테이블MySQL은 조인 - 모든 부모
items
===========
id title
items_in_categories
============================
id item_id category_id
categories
===========
id title
내가 에 언급 된 범주를 모두 속하는 모든 항목을 찾으려면이를 찾는 방법. 아니 어떤 하나 개의 범주하지만 모든 카테고리
예, 나는 카테고리 ID 3에 속하는 모든 항목을 검색 할 경우 5
노. 검색 할 수있는 카테고리의 수는 최대 20 개까지 올 수 있습니다.
예를 들어 카테고리 ID 1, 2, 3, 4, 5, 6, ...에 속한 모든 항목을 가져 오려고합니다. 20
나는 가능한 한 간단한 방법으로 사용하고 싶습니다.
MySQL 매뉴얼에 언급 된대로 AND와 중첩 NOT EXISTS를 시도했습니다.
아무 것도 효과가 없습니다.
업데이트 : 나는 이것을 생각해 냈습니다.
select * from
(select count(*) as counter, item_id from items_in_categories
where category_id in (3, 5) group by item_id)getall
where counter = 2
더 좋은 방법이 있습니까?
SELECT i.*
FROM items i
WHERE i.id IN (SELECT item_id from items_in_categories where category_id IN (3,5))
거기에 더 좋은 방법이 있습니까? –
나쁘지는 않지만 1.) 코멘트는 코멘트입니다. 대답은 대답입니다 :) 2.) 당신은 뚜렷한 계산을해야합니다. 그렇지 않으면 3의 일치 항목이 여러 개 있으면 실패하지만 5의 –
은 표시되지 않습니다. 그래서 나는 네 자신뿐만 아니라 다른 사람들처럼 대답으로 내 대답을 주어야 했습니까? –