OK - besoin d'aide ici - aurait pu mordre plus que je ne peux mâcher ici - mais je cherche à écrire une requête SQL qui renvoie toujours un minimum de 10 résultats. Si la première condition est appliquée et que le résultat est supérieur à 10 résultats, passez à la condition suivante, etc.SQL - Filtrer les résultats de recherche
Exemple Trouvez toutes les petites voitures jouets en plastique rouge qui coûtent moins de 5,00 €.
Je veux toujours afficher un minimum de 10 éléments à l'écran. Vous voulez rechercher sur "petit" puis sur "rouge", puis sur "< £ 5,00". Si la requête renvoie plus de 10 éléments, continuez à filtrer autant de tags que possible (plastique, jouet et voiture). Plus le nombre de correspondances est élevé, plus elle doit être classée (c.-à-d. - il sera en haut de la liste, si un produit correspond à seulement 1 étiquette -. alors ce sera plus bas la liste
Price Table
ID Price
1 £1.50
2 £2.50
3 £6.00
.
Colour Table
ID Colour
1 Red
2 Blue
3 Yellow
.
Size Table
ID Shape
1 Small
2 Medium
3 Large
.
Products Table
ID Description price_id colour_id size_id
1 Item 1 1 2 2
2 Item 2 2 2 1
3 Item 3 1 1 1
4 Item 4 3 2 3
5 Item 5 3 1 2
6 Item 6 1 1 2
7 Item 7 1 1 3
.
Tags Table
ID Description
1 Shiny
2 Plastic
3 Wood
4 Toy
5 Disney
6 Animal
7 Car
.
Items_Tags Table
ID tag_id product_id
1 1 1
2 4 1
3 7 1
4 2 2
5 3 3
6 4 3
7 7 6
8 7 7
9 7 2
un certain exemple à long - mais j'espère que vous obtenez le point I. se sont demandé s'il y aurait tout avantage à mettre tous les filtres dans le tableau des balises -.?-à-dire le prix, la couleur et la taille et serait alors que de rechercher sur la table tags
toute personne idées
Merci