Aide sur une requête SQL
2 messages
• Page 1 sur 1
- obelix95
- Nouveau WRInaute

- Messages: 1
- Inscription: 19 Déc 2009
Aide sur une requête SQL
Bonjour à tous,
Si qq'un pouvait me donner un petit coup de main, ce serait super.
J'ai 3 tables qui gèrent des catégories et des produits. Les catégories sont hiérarchisées, parent, enfant, petit enfant, etc...
Un produit appartient à une ou plusieurs catégories.
Elles sont organisées comme suit :
Je les ai simplifiées, le reste n'est pas utile.
J'ai une requête qui me sort tous les produits (sku) d'une catégorie choisie :
Jusque là tout va bien.
Maintenant, j'aimerais avoir une requête qui me sort un seul produit (random) pour chaque catégorie.
Bon, si un produit qui appartient à plusieurs catégories sort plusieurs fois, c'est pas grave.
J'essaie de creuser un peu les JOIN ou les IN, mais là je nage. Je ne suis pas sûr que c'est la bonne voie.
Merci d'avance pour toute idée !
Philippe
Si qq'un pouvait me donner un petit coup de main, ce serait super.
J'ai 3 tables qui gèrent des catégories et des produits. Les catégories sont hiérarchisées, parent, enfant, petit enfant, etc...
Un produit appartient à une ou plusieurs catégories.
Elles sont organisées comme suit :
- Code: Tout sélectionner
CREATE TABLE IF NOT EXISTS `category` (
`category_id` int(11) NOT NULL auto_increment,
`category_name` varchar(128) NOT NULL default '',
PRIMARY KEY (`category_id`),
KEY `idx_category_name` (`category_name`)
) TYPE=MyISAM COMMENT='Product Categories are stored here';
CREATE TABLE IF NOT EXISTS `category_xref` (
`category_parent_id` int(11) NOT NULL default '0',
`category_child_id` int(11) NOT NULL default '0',
`category_list` int(11) default NULL,
PRIMARY KEY (`category_child_id`),
KEY `category_xref_category_parent_id` (`category_parent_id`),
KEY `idx_category_xref_category_list` (`category_list`)
) TYPE=MyISAM COMMENT='Category child-parent relation list';
CREATE TABLE IF NOT EXISTS `product` (
`product_id` int(11) NOT NULL auto_increment,
`product_sku` varchar(64) NOT NULL default '',
PRIMARY KEY (`product_id`),
KEY `idx_product_sku` (`product_sku`),
) TYPE=MyISAM COMMENT='All products are stored here.' ;
Je les ai simplifiées, le reste n'est pas utile.
J'ai une requête qui me sort tous les produits (sku) d'une catégorie choisie :
- Code: Tout sélectionner
SELECT DISTINCT product_sku FROM product, product_category_xref, category WHERE
product.product_id = product_category_xref.product_id
AND category.category_id = product_category_xref.category_id
AND category.category_id = $ma_categorie
ORDER BY RAND()
Jusque là tout va bien.
Maintenant, j'aimerais avoir une requête qui me sort un seul produit (random) pour chaque catégorie.
Bon, si un produit qui appartient à plusieurs catégories sort plusieurs fois, c'est pas grave.
J'essaie de creuser un peu les JOIN ou les IN, mais là je nage. Je ne suis pas sûr que c'est la bonne voie.
Merci d'avance pour toute idée !
Philippe
-

screuscreu - WRInaute impliqué

- Messages: 968
- Inscription: 14 Jan 2008
Re: Aide sur une requête SQL
et un group by category.category_id ?
2 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Google API : guide de développement de l'API Google - 20-09-2002
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006 - 11-08-2006
- Informations sur l'infrastructure technique de Google - 01-11-2004
- Google indexe le Flash - 28-04-2004
- Keyword Search Engine : le choix des bons mots-clés - 09-08-2004
- + de résultats pour un même site sur Google - 23-08-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
