Ik heb een tabel Producten, in deze tabel zitten losse producten maar ook productcombinaties.
De tabel heeft dus een veel op veel relatie met zichzelf, dmv de koppeltabel Product_CombinatieBestaatUit.
Voorbeeldje:
ID 1: Playstation Fifa Set - Product_CombinatieBestaatUit 2,3,5
ID 2: Playstation
ID 3: Fifa
ID 4: Playstaion Gun
ID 5: Playstation controller
Is het met 1 query mogelijk om "ID 1: Playstation Fifa Set" vinden als ik ID 2,3 en 5 beschikbaar heb?
Als ik onderstaande query run krijg ik alle combinaties die 1 van de producten bevat. Maar ik wil dus alleen een combinatie die alle producten bevat, zonder extra producten.
Ik de koppeltabel moet hij dus groeperen op het ProductID, en dan filteren op combinaties die ChildID 2,3 en 5 alleen bevatten.
Ik hoop dat het zo een beetje duidelijk is. Kan iemand mij verder helpen?
De tabel heeft dus een veel op veel relatie met zichzelf, dmv de koppeltabel Product_CombinatieBestaatUit.
Voorbeeldje:
ID 1: Playstation Fifa Set - Product_CombinatieBestaatUit 2,3,5
ID 2: Playstation
ID 3: Fifa
ID 4: Playstaion Gun
ID 5: Playstation controller
Is het met 1 query mogelijk om "ID 1: Playstation Fifa Set" vinden als ik ID 2,3 en 5 beschikbaar heb?
Als ik onderstaande query run krijg ik alle combinaties die 1 van de producten bevat. Maar ik wil dus alleen een combinatie die alle producten bevat, zonder extra producten.
code:
1
2
3
| SELECT DISTINCT Product.ID FROM Product LEFT JOIN Product_CombinatieBestaatUit ON Product_CombinatieBestaatUit.ProductID = Product.ID WHERE (Product_CombinatieBestaatUit.ChildID IN (2,4,5)) |
Ik de koppeltabel moet hij dus groeperen op het ProductID, en dan filteren op combinaties die ChildID 2,3 en 5 alleen bevatten.
Ik hoop dat het zo een beetje duidelijk is. Kan iemand mij verder helpen?