Besoin d'aide requete SQL

Résolu
snowflakedu59 Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   -  
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je ne trouve pas la requete qui correspond a mon besoin,
je dois creer un site d'un traiteur de plats préparés
ma BDD se compose de la maniere suivante:

INGREDIENT(ingredient_id,ingredient_nom,ingredient_stock,ingredient_unitégestion)
COMPOSER(ingredient_id, plat_id, composer_quantité)
PLAT(plat_id, Plat_nom, plat_composition)

j'ai dit juste ce qui concerne la requete que je cherche .

donc je voudrais la requete me permettant d'obtenir la liste des plats en stock ( dont il reste suffisament d'ingredient pour les composer et savoir combien puis-je encore en faire).
MERCI !! beaucoup a celui ou celle qui pourra m'aider

4 réponses

macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Bonjour.

Tu as quoi, pour le moment ?
Parce que je veux bien t'aider, mais :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
0
snowflakedu59 Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   5
 
pour le moment j'ai fait ca :

SELECT * FROM `plat`, `composer`, `ingredient`
WHERE `plat`.`plat_id`=`composer`.`plat_id`
AND `composer`.`ingredient_id`=`ingredient`.`ingredient_id`
AND `ingredient_stock`>0

mais il me manque le fait de verifier le nb de plat que je peut encore faire avec les ingredients restant ...
0
<yassou> Messages postés 589 Date d'inscription   Statut Membre Dernière intervention   75
 
ça fait longtemps que je n'ai pas fait du sql, je suis tentée de te donner mon idée, à toi de voir
je crois qu'il faut créer une vue sur les ingrédients d'un même plat (plat_id, ingrédient_id, composer_quantité, ingrédient_stock) avec la quantité nécessaire (composer_quantité) et la quantité disponible en stock (ingrédient_stock)
je ne sais plus comment on écrit, j'arrive pas à m'en rappeler désolé !
mais avec une vue ça deverait étre facile à faire
0
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   160
 
Salut,

Il me semble que tu peux utiliser la fonction minumun :
select plat.plat_nom,min(ingredient.ingredient_stock / composer.composer_quantité ) AS "Quantité" from ingredient,composer,plat
where composer.plat_id like plat.plat_id AND ingredient.ingredient_id like composer.ingredient_id
group by plat.plat_nom


ingredient.ingredient_stock / composer.composer_quantité te donne le nombre maximum de plats que tu peux faire avec un ingrédient par plat. La fonction min est la pour s'arrêter de produire une fois que le plus petit stock est épuisé.

Normalement ça devait aller ... (j'ai testé sur une bdd sans les relations ... ne garantie donc rien pour celles-ci :D)

@Bientôt
0
snowflakedu59 Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   5
 
MERCI beaucoup ! je pense que cela fonctionne et j'ai compris le fonctionnement de la requete c'est genial . merci beaucoup a tous ceux qu'ont voulu m'aider ! bonne soirée !
0
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   160 > snowflakedu59 Messages postés 90 Date d'inscription   Statut Membre Dernière intervention  
 
mais c'est un plaisir de pouvoir aider :D

Bonne soirée à toi aussi
0
<yassou> Messages postés 589 Date d'inscription   Statut Membre Dernière intervention   75
 
c'est plutot, ingredient_stock>=composer_quantité, au lieu de, ingredient_stock>0
0