Voici donc ce que j'essaie de faire. Mon patron veut mettre tous les véhicules que nous avons sur notre page d'accueil et tirer au hasard 8 d'entre eux à la fois. La façon dont notre schéma de base de données est configuré a les produits et les catégories dans des tables séparées en utilisant une référence croisée pour localiser la catégorie dans laquelle le produit tombe. La table avec les catégories a un parent qui est un ID direct d'une autre catégorie. Alors voici le SQL que j'ai trouvé.SQL Sélection de produits dans une seule catégorie
SELECT product.productID,
product.productSKU,
product.price,
product.name,
product.stateInd,
category.parentID,
category.categoryID,
prod_cat.productID FROM category
LEFT JOIN prod_cat
ON prod_cat.categoryID = category.categoryID
LEFT JOIN product
ON product.productID = prod_cat.productID
WHERE category.parentID = <cfqueryparam value="#catID#" cfsqltype="cf_sql_varchar" /> AND product.name <> "" AND RAND()
LIMIT 8
J'espère que tout est logique. J'ai juste le plus de mal à tirer non seulement 8 produits, mais aussi à m'assurer que ces 8 produits sont uniques. Oh et j'ai essayé de mettre DISTINCT après la sélection mais le produit était encore sélectionné deux fois.
Merci!
fraîche Ok! Je travaillais là-dessus un peu plus et j'ai obtenu l'ordre par chose de rand a compris ... mais c'était encore la duplication. C'est à ce moment-là que j'ai réalisé que nous avions 2 produits avec le même nom, la même image juste des références différentes ... si ça a du sens :) Bref je vais essayer la commande par les choses aussi! Merci beaucoup! + –