J'ai des tables avec des listes, des catégories et un qui les mappe les uns aux autres. Ainsi, une liste peut ensuite être placée dans plusieurs catégories. Quelque chose comme ce qui suit:MySQL retourne des résultats distincts pour plusieurs conditions
listings table
id
title
etc
categories table
id
category_name
etc
map table
listing_id
category_id
Quand je dois obtenir toutes les informations pour les annonces dans une seule catégorie (dans ce cas, la catégorie avec l'id de 18), les travaux suivants fin:
SELECT *
FROM (`listings`, `map`)
WHERE `map`.`category_id` = 18
AND map.listing_id = listings.id
Mon problème est comment puis-je faire un type similaire de requête, mais maintenant j'ai besoin de trouver ces listes distinctes qui sont dans deux catégories. Par exemple, que se passe-t-il si je dois renvoyer uniquement les listes distinctes qui sont dans category_id = 18 AND category_id = 20? Cela nécessiterait-il un type de jointure?
Est-ce que vous voulez exclure une liste de votre jeu de résultats si elle est plus que seulement les 2 catégories que vous spécifiez? –