까다로운 MySQL 쿼리에 대한 도움이 필요합니다.다른 모든 하위 레코드를 제외하고 모든 부모 레코드가 동일한 하위 레코드를 갖는 MySQL 선택 하위 레코드
성분
IngredientID | Name 1 | Ketchup
제품
ProductID | Name | IngredientID 1 | Bills Amazing Ketchup | 1 2 | Marys Tasty Ketchup | 1
RedFlags :
이
는 테이블 및 데이터입니다ProductID | RedFlagID 1 | 1 (Gluten) 1 | 2 (Egg) 2 | 1 (Gluten)
조리 성분
이 경우 케첩에는 'Bills Amazing Ketchup'및 'Marys Tasty Ketchup'중에서 선택할 수있는 2 가지 제품이 있습니다.
각 제품에는 자체 규정 식 적혈구가 있습니다. 예를 들어 Bears Amazing Ketchup은 Gluten과 Egg를 포함하고 Marys Tasty Ketchup은 글루텐을 함유하고 있지만 egg는 포함하지 않습니다.
내가 원했던 것은 Ingredient show에 해당하는 Red Flags뿐입니다.
예를 들어, 두 제품 모두 글루텐을 포함하고 오직 1 개만 에그를 포함합니다. 따라서 달걀이 들어 있지 않은 제품이 존재하고 고객이 달걀이없는 대안을 구입할 수 있기 때문에 달걀이 케첩 성분의 적기가 아니므로 계란은 성분에 대해 적색으로 표시되어서는 안됩니다.
그러나 두 제품 모두 글루텐을 함유하고 있기 때문에 선택할 수있는 글루텐없는 대안이 없으므로 성분은 글루텐을 적기로 나타내야합니다. 데이터베이스가 제품을 많이 포함하고 있기 때문에이 쿼리는 빨라야
IngredientID | RedFlagID 1 | 1 (Gluten)
:
는 케첩 성분 따라서 다음과 같은 관련 데이터를 표시해야합니다.
나는 가능한 한 카운트가 부족하다는 것을 알고 싶지 않다.
감사합니다.