PHP interesse |
|
Hallo,
Ik ben bezig met het maken van een webshop.
Nu heb ik 3 tabellen:
Producten
Categorieën
categorieën met de producten (ids)
Dit haal ik op doormiddel van een join:
SELECT * FROM (`os_products`)
JOIN `os_categories_has_products`
ON `os_products`.`productID` = `os_categories_has_products`.`productID`
JOIN `os_categories`
ON `os_categories`.`categorieID` = `os_categories_has_products`.`categorieID`
GROUP BY `os_products`.`productID`
SELECT * FROM (`os_products`) JOIN `os_categories_has_products` ON `os_products`.`productID` = `os_categories_has_products`.`productID` JOIN `os_categories` ON `os_categories`.`categorieID` = `os_categories_has_products`.`categorieID` GROUP BY `os_products`.`productID`
Nu haalt ie alles netjes op, maar ik krijg bij producten met meerdere categorieën ook maar 1 categorie te zien (door de GROUP BY).
Het probleem is alleen dat als ik de GROUP BY weghaal dat ie dan de producten die meer categorieën hebben ook vaker weergeeft.
Kan dit op de 1 of andere manier ook zo dat ik gewoon meerdere categorieën bij de producten krijg?
Alvast bedankt!
Edit voorbeeldje:
Stel ik heb 2 producten:
Losse camera in de categorie "Cameras"
Camera+Monitor combi in de categorieën "Cameras" en "Monitoren"
Als ik nu deze gegevens opvraag met een join zonder GROUP BY krijg ik:
productID | Product | Categorie
1 | Camera | Cameras
2 | Combo | Cameras
2 | Combo | Monitoren
productID | Product | Categorie 1 | Camera | Cameras 2 | Combo | Cameras 2 | Combo | Monitoren
Met GROUP BY:
productID | Product | Categorie
1 | Camera | Cameras
2 | Combo | Cameras
productID | Product | Categorie 1 | Camera | Cameras 2 | Combo | Cameras
Maar ik wil dus zoiets:
productID | Product | Categorie
1 | Camera | Cameras
2 | Combo | Cameras, Monitoren
productID | Product | Categorie 1 | Camera | Cameras 2 | Combo | Cameras, Monitoren
|