Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - changer OR en AND

Vous pouvez essayer avec having :

SELECT Ads.AdId 
FROM Ads 
JOIN AdsAmenities ON Ads.AdId = AdsAmenities.ads_AdId 
WHERE AdsAmenities.amenities_AmenityId IN (2, 18, 1) 
GROUP BY Ads.AdId
HAVING COUNT(distinct AdsAmenities.amenities_AmenityId) = 3

Dans le cas AdsAmenities.amenities_AmenityId les valeurs sont uniq, vous pouvez ignorer le distinct partie.