Petit case-tête entre amis.
Je voudrais isoler des stocks négatifs sur une période donnée dans une requete.
J'ai une table DISPON qui reprend ceci
Code Article + Date + ordre (A ou Z) + quantité mouvementée + Dossier
4001 20030101 Z -50 123456
4001 20030102 Z -10 654321
4001 20030103 A 50 123456
4001 20030106 A 10 654321
...
Dans une autre table (ARTICLE), j'ai chaque article avec son stock actuel.
Si j'ai 55 articles 4001, j'aurai un probleme le 20030102 car il m'en manquera 5
Je voudrais donc dans une table (vue), 4001 20030102 -5 654321 représentant
55 du stock de départ - 50 qui partent le 20030101 - 10 qui partent le 20030102.
Je tombe en négatif et je ne pourrai donc livrer.
Y-a-t-il moyen de faire cela en SQL avec une belle requete ?
L'idéal étant d'avoir cela pour tous les articles de la table ARTICLE.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Moreau
champs: c = code article d = date q = quantité mouvementée
SELECT A.c, A.d, c.q+sum(b.q) from DISPON A inner join ARTICLE C ON A.c=C.C , DISPON B where A.d>=B.d group by a.c, a.d, c.q ORDER BY a.c, a.d
Voila ta requete de base.
Je pense qu'il faut a partir de la, ne prendre dans DISPON que les mouvements dont la date est supérieur a la date d'inscription du stock dans ARTICLE.
Pour n'avoir que les dates ou le stock sera négatif il suffit d'ajouter dans le where: AND c.q+sum(b.q)<0
Laurent.
"B. Neve" wrote in message news:
Bonjour,
Petit case-tête entre amis. Je voudrais isoler des stocks négatifs sur une période donnée dans une
requete.
J'ai une table DISPON qui reprend ceci Code Article + Date + ordre (A ou Z) + quantité mouvementée + Dossier 4001 20030101 Z -50 123456 4001 20030102 Z -10 654321 4001 20030103 A 50 123456 4001 20030106 A 10 654321 ...
Dans une autre table (ARTICLE), j'ai chaque article avec son stock actuel.
Si j'ai 55 articles 4001, j'aurai un probleme le 20030102 car il m'en
manquera 5
Je voudrais donc dans une table (vue), 4001 20030102 -5 654321
représentant
55 du stock de départ - 50 qui partent le 20030101 - 10 qui partent le
20030102.
Je tombe en négatif et je ne pourrai donc livrer.
Y-a-t-il moyen de faire cela en SQL avec une belle requete ? L'idéal étant d'avoir cela pour tous les articles de la table ARTICLE.
Merci d'avance pour vos éclaircissements...
Benoit Neve
champs:
c = code article
d = date
q = quantité mouvementée
SELECT A.c, A.d, c.q+sum(b.q) from
DISPON A
inner join ARTICLE C ON A.c=C.C
, DISPON B
where A.d>=B.d
group by a.c, a.d, c.q
ORDER BY a.c, a.d
Voila ta requete de base.
Je pense qu'il faut a partir de la, ne prendre dans DISPON que les
mouvements dont la date est supérieur a la date d'inscription du stock dans
ARTICLE.
Pour n'avoir que les dates ou le stock sera négatif il suffit d'ajouter dans
le where:
AND c.q+sum(b.q)<0
Laurent.
"B. Neve" <bne@dagico.com> wrote in message
news:fd3ee4e5.0312180500.c0d8d09@posting.google.com...
Bonjour,
Petit case-tête entre amis.
Je voudrais isoler des stocks négatifs sur une période donnée dans une
requete.
J'ai une table DISPON qui reprend ceci
Code Article + Date + ordre (A ou Z) + quantité mouvementée + Dossier
4001 20030101 Z -50 123456
4001 20030102 Z -10 654321
4001 20030103 A 50 123456
4001 20030106 A 10 654321
...
Dans une autre table (ARTICLE), j'ai chaque article avec son stock actuel.
Si j'ai 55 articles 4001, j'aurai un probleme le 20030102 car il m'en
manquera 5
Je voudrais donc dans une table (vue), 4001 20030102 -5 654321
représentant
55 du stock de départ - 50 qui partent le 20030101 - 10 qui partent le
20030102.
Je tombe en négatif et je ne pourrai donc livrer.
Y-a-t-il moyen de faire cela en SQL avec une belle requete ?
L'idéal étant d'avoir cela pour tous les articles de la table ARTICLE.
champs: c = code article d = date q = quantité mouvementée
SELECT A.c, A.d, c.q+sum(b.q) from DISPON A inner join ARTICLE C ON A.c=C.C , DISPON B where A.d>=B.d group by a.c, a.d, c.q ORDER BY a.c, a.d
Voila ta requete de base.
Je pense qu'il faut a partir de la, ne prendre dans DISPON que les mouvements dont la date est supérieur a la date d'inscription du stock dans ARTICLE.
Pour n'avoir que les dates ou le stock sera négatif il suffit d'ajouter dans le where: AND c.q+sum(b.q)<0
Laurent.
"B. Neve" wrote in message news:
Bonjour,
Petit case-tête entre amis. Je voudrais isoler des stocks négatifs sur une période donnée dans une
requete.
J'ai une table DISPON qui reprend ceci Code Article + Date + ordre (A ou Z) + quantité mouvementée + Dossier 4001 20030101 Z -50 123456 4001 20030102 Z -10 654321 4001 20030103 A 50 123456 4001 20030106 A 10 654321 ...
Dans une autre table (ARTICLE), j'ai chaque article avec son stock actuel.
Si j'ai 55 articles 4001, j'aurai un probleme le 20030102 car il m'en
manquera 5
Je voudrais donc dans une table (vue), 4001 20030102 -5 654321
représentant
55 du stock de départ - 50 qui partent le 20030101 - 10 qui partent le
20030102.
Je tombe en négatif et je ne pourrai donc livrer.
Y-a-t-il moyen de faire cela en SQL avec une belle requete ? L'idéal étant d'avoir cela pour tous les articles de la table ARTICLE.