PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → requete sql
requete sql
Started by degeestmarc, Apr., 20 2006 7:02 PM - 2 replies
Posted on April, 20 2006 - 7:02 PM
Voila mon problème j'ai deux tables une tables produit : nom,numero,
quantité minimale

et une table enstock : numero,quantité

j'aimerais dans une requête faire une somme de ce qu'il y a en stock et
d'afficher ou imprimer les résultats lorsque la quantité minimale est plus
grande que la somme des produits en stock ou qu'il n'y a aucune ligne en
stock .


select produit.nom_produit,Produit.quantité_commande from produit where
produit.quantité_minimale > (select sum(Enstock.quantite) from Enstock where
Enstock.numeroproduit=produit.IDProduit)

j'ai essayé cela mais la requete ne marche pas quand il y a plusieurs
enregistrement dans enstock

on m'a proposé :

Essaye de rajouter un "group by idproduit" dans ta sous requete.

ne marche pas mieux n'additionne pas les stocks


Sinon tu peux essayer ca (un peu plus lourd a l'execution je pense) :

select produit.nom_produit, produit.quantite_commande, sum(enstock.quantite)
from produit, enstock
where produit.idproduit = enstock.numeroproduit
group by produit.idproduit, produit.nom_produit, produit.quantite_commande
having sum(enstock.quantite) < produit.quantite_minimale

ne marche pas additionne bien mais ne sort pas les produits si il n'y a pas
de commandes dans enstock

quelqu'un à une autre idée .

Désolé mais c'est urgent
Posted on April, 20 2006 - 7:45 PM
select produit.nom_produit, produit.quantite_commande, sum(enstock.quantite)
from produit, enstock
where produit.idproduit = enstock.numeroproduit
group by produit.idproduit, produit.nom_produit, produit.quantite_commande
having sum(enstock.quantite) < produit.quantite_minimale
union
select produit.nom_produit, produit.quantite_commande, 0
from produit where not exists(select * from enstock where enstock.numero = produit.numero)

Frédéric.
Posted on April, 21 2006 - 4:22 PM
degeest marc vient de nous annoncer :
Voila mon problème j'ai deux tables une tables produit : nom,numero,
quantité minimale

et une table enstock : numero,quantité

j'aimerais dans une requête faire une somme de ce qu'il y a en stock et
d'afficher ou imprimer les résultats lorsque la quantité minimale est plus
grande que la somme des produits en stock ou qu'il n'y a aucune ligne en
stock .


select produit.nom_produit,Produit.quantité_commande from produit where
produit.quantité_minimale > (select sum(Enstock.quantite) from Enstock where
Enstock.numeroproduit=produit.IDProduit)

j'ai essayé cela mais la requete ne marche pas quand il y a plusieurs
enregistrement dans enstock

on m'a proposé :

Essaye de rajouter un "group by idproduit" dans ta sous requete.

ne marche pas mieux n'additionne pas les stocks


Sinon tu peux essayer ca (un peu plus lourd a l'execution je pense) :

select produit.nom_produit, produit.quantite_commande, sum(enstock.quantite)
from produit, enstock
where produit.idproduit = enstock.numeroproduit
group by produit.idproduit, produit.nom_produit, produit.quantite_commande
having sum(enstock.quantite) < produit.quantite_minimale

ne marche pas additionne bien mais ne sort pas les produits si il n'y a pas
de commandes dans enstock

quelqu'un à une autre idée .

Désolé mais c'est urgent


un left ou right outer join ne marche pas ?

--
Cordialement JeAn-PhI