recipe 데이터베이스로 볼 수있는 데이터베이스가있는 경우, 주어진 성분으로 만들 수있는 모든 ID를 어떻게 선택할 수 있습니까? 예 : 성분 1과 4가있는 경우 그걸로 만들 수있는 유일한 조리법이므로 3을 반환합니다.many many relationship in many
약 50 가지 성분이 있으며 더 많은 요리법이 있습니다.
UNION/여러 조인을 사용하는 것과 같은 여러 가지 가능성이 있습니다. 그러나이 문제에 대한 간단한 간단한 해결책은 없습니다. 내가 생각 무엇
Recipes Recipes/Ingredients Ingredients
1 1 1 1
2 1 2 2
3 2 1 3
2 3 4
2 4
3 1
3 4
편집/
그것을 해결하기 위해 내 데이터베이스가 재료에 대해 있지만 수 있습니다 물건에 대해 정말이기 때문에 이것은 매우 긴 쿼리으로 이어질 것입니다
select recipe_id from Recipes
where recipe_id in (
select recipe_id from Recipes_Ingredients where ingredient_Id = 1
UNION
select recipe_id from Recipes_Ingredients where ingredient_Id = 4
)
50 이상이 그 안에 들어 있습니다.
[무엇을 시도하셨습니까?] (http://www.whathaveyoutried.com)? – Kermit
이 링크 확인 http://stackoverflow.com/questions/349559/sql-how-to-search-a-many-to-many-relationship – Mingebag
@Aarolama Bluenk 검색 한 결과로 문제를 해결할 수 있습니다. UNION 문. 나는 이것이 최선의 해결책이 아니라고 생각하며, 지금까지 나는 더 좋은 길을 찾지 못했다. 그래서 나는 이것으로 일상적인 경험을 가진 사람들이 직접적인 대답을 줄 수있을 것이라고 생각한다. 나는 이런 종류의 질의를 다루기위한 적절한 방법이나 질의를 기대하지 않는다. –