Pourquoi ? parce qu'imaginons que j'ai ces 4 catégories: chat, croquette, transport-chat et alimentation-chat. 3 contiennent "chat" et une "croquette".
Imaginons que j'ai:
- un produit 1 qui a "croquette", "alimentation-chat" et "chat"
- un produit 2 qui a "chat" et "transport-chat"
- un produit 3 qui a "chat" et "alimentation-chat"
Du coup, si j'exécute votre requête pour simuler que l'utilisateur tape "croquette" et "cha", ça devrait me remonter que le premier produit mais ça remonte rien car la sous requête du HAVING COUNT dénombre 4 catégories qui possèdent soit croquette soit "%cha%".
Si par contre j'utilise mon HAVING COUNT(*) >=2, ça va remonter le produit 1 mais aussi les 2 autres car les deux autres ont aussi 2 catégories qui répondent aux exigences (contenir croquette ou %cha%).
Partager