Requête complexe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requête complexe

Re: Requête complexe

par Tsoas » 02 sept. 2009, 09:46

Hum pas possible d'éditer le message, mais je me suis gourré dans mon code :
Les "nom_produit" doivent être remplacé par "Designation_produit"

Requête complexe

par Tsoas » 02 sept. 2009, 09:45

Bonjour à tous,

Je suis actuellement bloqué sur une requête, et je cherche un peu d'aide ...

J'ai 2 tables :

t_produit
Designation_produit
Quantité

t_commandes
Designation_produit
Quantité
Date_de_livraison
Date_de_reception

En fait, j'aimerais une requête que me fasse un était des stocks, c'est à dire :
- Affiche une ligne pour chaque produit, avec son nom, sa quantité en stock, sa quantité commandé, et sa date_de_livraison.
- La quantité commandé affichée est la somme de la quantité qui arrive le jour de livraison (si plusieurs commande arrive un même jour)
- La date de livraison doit être la plus récente ( MIN(date_de_livraison) ) car il peut avoir plusieurs commande pour un produit.
- MAIS il ne doit pas prendre la commande si la date de réception est remplie (la date de reception peut être différente de la date de livraison).

Voila, cela me parait quelque peu complexe ...
Je suis arrivé à faire ça pour le moment :
SELECT  prd.Designation_produit, prd.Quantité, SUM(cmd.Quantité), cmd.Date_de_livraison
FROM    t_produits  AS prd INNER JOIN t_commandes AS cmd ON  prd.nom_produit = cmd.nom_produit
WHERE   EXISTS
        (   SELECT  1
            FROM    t_commandes AS lst
            WHERE   lst.nom_produit = cmd.nom_produit
            HAVING  MIN(lst.Date_de_livraison)  = cmd.Date_de_livraison
        )
GROUP BY prd.designation_produit, prd.Quantité, cmd.Date_de_livraison;
;
Le soucis de ma commande : il ne gère pas la date de livraison vide, mais surtout, si il n'y a pas de commande en cours pour un produit, il ne s'affiche pas ...

Voila, si quelqu'un saurait m'aider !

Cordialement,
Tsoas.