cs_Krasha
Messages postés36Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention29 mars 2010
-
11 févr. 2010 à 08:15
cs_Krasha
Messages postés36Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention29 mars 2010
-
13 févr. 2010 à 18:06
Bonjour à tous,
Je bloque depuis deux jours sur une requête pour extraire des données de plusieurs tables (pour le site de restaurant). Je dois en effet extraire les données 'Lib_Prod' et 'Annee_Prod' de la table 'PRODUITS', 'Appellation' de la table 'CARAC_VINS' et 'Prix_TTC_Article' de la table 'ARTICLES'.(voir image de la base ci-dessous)
Ce qui doit me donner quelque chose comme cela:
Voici la partie de ma base qui nous intéresse (en tout cas moi ):
Jusque là pas de problème, avec la requête suivante j'ai réussi à extraire ce que je voulais:
$listVinsBlancs = "SELECT DISTINCT LIB_PROD, ANNEE_PROD, APPELLATION, PRIX_TTC_ARTICLE
FROM produits
INNER JOIN est_produit
ON produits.ID_PROD = est_produit.ID_PROD
INNER JOIN articles
ON articles.ID_ARTICLE = est_produit.ID_ARTICLE
INNER JOIN cat_produit
ON cat_produit.ID_CAT_PROD = produits.ID_CAT_PROD
INNER JOIN carac_vins
ON produits.ID_CARAC_VIN = carac_vins.ID_CARAC_VIN
INNER JOIN unites
ON articles.ID_UNITE = unites.ID_UNITE
WHERE cat_produit.ID_CAT_PROD = '48' //le code pour le vin blanc
AND produits.EN_VENTE = '1' //égale à 'en stock'
AND articles.ID_MENU = '0' //ne fait pas partie d'un menu
AND unites.ID_UNITE = '6' //6 est égale à 'bouteille'
ORDER BY articles.PRIX_TTC_ARTICLE ASC;";
Là où ça se complique c'est que le prix indiqué est égal au prix d'une bouteille, et que je dois aussi indiquer le prix de la 1/2 bouteille et du verre.
Ces prix sont dans ma table 'ARTICLES' un produit (ex:'Domaine Maupas') est donc indiqué 3 fois dans ma table 'ARTICLES' pour la bouteille, la demie-bouteille et la verre. La différence se fait par la référence à l'Id_Unite (6 bouteille, 7 demie-bouteille, 5 = verre).
De plus, pour certains produits on ne vend pas de 1/2 bouteille ni de verre. Donc il se peut qu'il existe 1, 2 ou 3 occurrences dans la table 'ARTICLES' pour le même produit.
Je ne sais pas comment afficher dans le même tableau toutes données, surtout quand les occurrences sont inexistantes, pour donner un résultats comme celui-ci:
Noms | Année | Appellation | Prix bout. | Prix 1/2 bout. | Prix du verre
Domaine Maupas | 2006 | Chablis | 35.00 € | 19.00 € | n.a.
François Villard | 2007 | Côtes du Rhône | 50.00 € | 27.00 € | 9.00€
Guérin Vergisson | 2005 | Saint-véran | 30.00 € | n.a. | n.a.
Si vous avez une piste je vous écoute. Et si jamais vous manquez de renseignements pour me répondre demandez moi, à force d'être plongé dedans j'en oublie parfois de donner des détails essentiels à la compréhension du problème.