Requète de la quantité en stock
Résolu/Fermé
runworld
Messages postés
6
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
20 mars 2014
-
16 mars 2014 à 13:43
runworld Messages postés 6 Date d'inscription dimanche 16 mars 2014 Statut Membre Dernière intervention 20 mars 2014 - 20 mars 2014 à 22:35
runworld Messages postés 6 Date d'inscription dimanche 16 mars 2014 Statut Membre Dernière intervention 20 mars 2014 - 20 mars 2014 à 22:35
A voir également:
- Requète de la quantité en stock
- Où sont stockés les mots de passe sur android - Guide
- Stock it easy - Télécharger - Comptabilité & Facturation
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Logiciel gestion de stock pharmacie gratuit - Télécharger - Santé & Bien-être
- Rolland souhaite calculer le montant total des ventes de son magasin. le fichier contient, pour chaque produit, la quantité vendue et le prix unitaire. calculez le montant total des ventes. ✓ - Forum Excel
5 réponses
runworld
Messages postés
6
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
20 mars 2014
17 mars 2014 à 17:01
17 mars 2014 à 17:01
voila ma requête testé dans sql server 2008 r2 avant de la codé en vb.net mais elle ne marche pas (dans sql server 2008 r2) aider moi les geek de l'informatique
select ARTICLE.CODART,ARTICLE.CODFAMART,ARTICLE.DESIGART,ARTICLE.SEUILMINI,MOUVEMENT.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,
SITE.LIBSITE,SOUS_SITE.LIBSOUSIT SUM(ENTREE.QTEMVT)-SUM(SORTIE.QTEMVT) AS STOCK
FROM
ARTICLE,MOUVEMENT,TYPE_MOUVEMENT,FAIRE ENTREE,FAIRE SORTIE,SITE,SOUS_SITE
WHERE
ENTREE.CODMVT IN (SELECT CODMVT FROM MOUVEMENT,TYPE_MOUVEMENT WHERE TYPE_MOUVEMENT.LIBTYPMVT LIKE 'ENTR' AND TYPE_MOUVEMENT.CODTYPMVT=MOUVEMENT.CODTYPMVT)
AND SORTIE.CODMVT IN (SELECT CODMVT FROM MOUVEMENT,TYPE_MOUVEMENT WHERE TYPE_MOUVEMENT.LIBTYPMVT LIKE 'SORT' AND TYPE_MOUVEMENT.CODTYPMVT=MOUVEMENT.CODTYPMVT)
select ARTICLE.CODART,ARTICLE.CODFAMART,ARTICLE.DESIGART,ARTICLE.SEUILMINI,MOUVEMENT.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,
SITE.LIBSITE,SOUS_SITE.LIBSOUSIT SUM(ENTREE.QTEMVT)-SUM(SORTIE.QTEMVT) AS STOCK
FROM
ARTICLE,MOUVEMENT,TYPE_MOUVEMENT,FAIRE ENTREE,FAIRE SORTIE,SITE,SOUS_SITE
WHERE
ENTREE.CODMVT IN (SELECT CODMVT FROM MOUVEMENT,TYPE_MOUVEMENT WHERE TYPE_MOUVEMENT.LIBTYPMVT LIKE 'ENTR' AND TYPE_MOUVEMENT.CODTYPMVT=MOUVEMENT.CODTYPMVT)
AND SORTIE.CODMVT IN (SELECT CODMVT FROM MOUVEMENT,TYPE_MOUVEMENT WHERE TYPE_MOUVEMENT.LIBTYPMVT LIKE 'SORT' AND TYPE_MOUVEMENT.CODTYPMVT=MOUVEMENT.CODTYPMVT)
runworld
Messages postés
6
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
20 mars 2014
17 mars 2014 à 17:06
17 mars 2014 à 17:06
Autre information
voici la liste des différents type_mouvement : ( Sortie rebu
Sortie payante
Sortie gratuite
Sortie regule inventaire
Entrée pharmacie F1
Entrée pharmacie F2
Entrée regule inventaire
Transfert1-
Transfert1+
Transfert2-
Transfert2+ )
mais seule les sortie (tous les type de sortie que j'ai cité ci-dessus décrémente le stock) et seule les entrées (tous les types d'entrées que j'ai cité ci-dessus incrémente le stock) le type transfert n'agit pas sur le stock parce que mis dans un stock fictif.
voici la liste des différents type_mouvement : ( Sortie rebu
Sortie payante
Sortie gratuite
Sortie regule inventaire
Entrée pharmacie F1
Entrée pharmacie F2
Entrée regule inventaire
Transfert1-
Transfert1+
Transfert2-
Transfert2+ )
mais seule les sortie (tous les type de sortie que j'ai cité ci-dessus décrémente le stock) et seule les entrées (tous les types d'entrées que j'ai cité ci-dessus incrémente le stock) le type transfert n'agit pas sur le stock parce que mis dans un stock fictif.
runworld
Messages postés
6
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
20 mars 2014
17 mars 2014 à 20:09
17 mars 2014 à 20:09
voici ma nouvelle requête:
SELECT HEALTHBOARD.dbo.ARTICLE.CODART, HEALTHBOARD.dbo.ARTICLE.CODFAMART, HEALTHBOARD.dbo.ARTICLE.DESIGART,
HEALTHBOARD.dbo.ARTICLE.SEUILMINI, HEALTHBOARD.dbo.FAIRE.QTEMVT, HEALTHBOARD.dbo.MOUVEMENT.DATMVT,
HEALTHBOARD.dbo.TYPE_MOUVEMENT.LIBTYPMVT, HEALTHBOARD.dbo.SOUS_SITE.LIBSOUSIT, HEALTHBOARD.dbo.SITE.LIBSITE,
FROM HEALTHBOARD.dbo.ARTICLE, HEALTHBOARD.dbo.FAIRE, HEALTHBOARD.dbo.MOUVEMENT, HEALTHBOARD.dbo.SOUS_SITE,
HEALTHBOARD.dbo.TYPE_MOUVEMENT, HEALTHBOARD.dbo.SITE
WHERE HEALTHBOARD.dbo.ARTICLE.CODART = HEALTHBOARD.dbo.FAIRE.CODART AND
HEALTHBOARD.dbo.FAIRE.CODMVT = HEALTHBOARD.dbo.MOUVEMENT.CODMVT AND
HEALTHBOARD.dbo.MOUVEMENT.CODSOUSIT = HEALTHBOARD.dbo.SOUS_SITE.CODSOUSIT AND
HEALTHBOARD.dbo.MOUVEMENT.CODTYPMVT = HEALTHBOARD.dbo.TYPE_MOUVEMENT.CODTYPMVT AND FAIRE.CODMVT IN
(SELECT MOUVEMENT_2.CODMVT
FROM HEALTHBOARD.dbo.MOUVEMENT MOUVEMENT_2, HEALTHBOARD.dbo.TYPE_MOUVEMENT TYPE_MOUVEMENT_2
WHERE TYPE_MOUVEMENT_2.LIBTYPMVT LIKE 'ENTR' AND TYPE_MOUVEMENT_2.CODTYPMVT = MOUVEMENT_2.CODTYPMVT) AND
FAIRE.CODMVT IN
(SELECT MOUVEMENT_1.CODMVT
FROM HEALTHBOARD.dbo.MOUVEMENT MOUVEMENT_1, HEALTHBOARD.dbo.TYPE_MOUVEMENT TYPE_MOUVEMENT_1
WHERE TYPE_MOUVEMENT_1.LIBTYPMVT LIKE 'SORT' AND TYPE_MOUVEMENT_1.CODTYPMVT = MOUVEMENT_1.CODTYPMVT)
mais quand je l'exécute dans sql server 2008 r2 j'ai l'erreur suivante:
Msg 156, Niveau 15, État 1, Ligne 5
Syntaxe incorrecte vers le mot clé 'FROM'.
Msg 156, Niveau 15, État 1, Ligne 13
Syntaxe incorrecte vers le mot clé 'AND'.
s'ils vous plait aidez moi à resoudre mon problème
SELECT HEALTHBOARD.dbo.ARTICLE.CODART, HEALTHBOARD.dbo.ARTICLE.CODFAMART, HEALTHBOARD.dbo.ARTICLE.DESIGART,
HEALTHBOARD.dbo.ARTICLE.SEUILMINI, HEALTHBOARD.dbo.FAIRE.QTEMVT, HEALTHBOARD.dbo.MOUVEMENT.DATMVT,
HEALTHBOARD.dbo.TYPE_MOUVEMENT.LIBTYPMVT, HEALTHBOARD.dbo.SOUS_SITE.LIBSOUSIT, HEALTHBOARD.dbo.SITE.LIBSITE,
FROM HEALTHBOARD.dbo.ARTICLE, HEALTHBOARD.dbo.FAIRE, HEALTHBOARD.dbo.MOUVEMENT, HEALTHBOARD.dbo.SOUS_SITE,
HEALTHBOARD.dbo.TYPE_MOUVEMENT, HEALTHBOARD.dbo.SITE
WHERE HEALTHBOARD.dbo.ARTICLE.CODART = HEALTHBOARD.dbo.FAIRE.CODART AND
HEALTHBOARD.dbo.FAIRE.CODMVT = HEALTHBOARD.dbo.MOUVEMENT.CODMVT AND
HEALTHBOARD.dbo.MOUVEMENT.CODSOUSIT = HEALTHBOARD.dbo.SOUS_SITE.CODSOUSIT AND
HEALTHBOARD.dbo.MOUVEMENT.CODTYPMVT = HEALTHBOARD.dbo.TYPE_MOUVEMENT.CODTYPMVT AND FAIRE.CODMVT IN
(SELECT MOUVEMENT_2.CODMVT
FROM HEALTHBOARD.dbo.MOUVEMENT MOUVEMENT_2, HEALTHBOARD.dbo.TYPE_MOUVEMENT TYPE_MOUVEMENT_2
WHERE TYPE_MOUVEMENT_2.LIBTYPMVT LIKE 'ENTR' AND TYPE_MOUVEMENT_2.CODTYPMVT = MOUVEMENT_2.CODTYPMVT) AND
FAIRE.CODMVT IN
(SELECT MOUVEMENT_1.CODMVT
FROM HEALTHBOARD.dbo.MOUVEMENT MOUVEMENT_1, HEALTHBOARD.dbo.TYPE_MOUVEMENT TYPE_MOUVEMENT_1
WHERE TYPE_MOUVEMENT_1.LIBTYPMVT LIKE 'SORT' AND TYPE_MOUVEMENT_1.CODTYPMVT = MOUVEMENT_1.CODTYPMVT)
mais quand je l'exécute dans sql server 2008 r2 j'ai l'erreur suivante:
Msg 156, Niveau 15, État 1, Ligne 5
Syntaxe incorrecte vers le mot clé 'FROM'.
Msg 156, Niveau 15, État 1, Ligne 13
Syntaxe incorrecte vers le mot clé 'AND'.
s'ils vous plait aidez moi à resoudre mon problème
runworld
Messages postés
6
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
20 mars 2014
18 mars 2014 à 10:58
18 mars 2014 à 10:58
salut la communauté voila j'ai finalement eclaté m'a requête en deux requête:
1) requête pour avoir la somme des entrées
select ARTICLE.CODART,ARTICLE.DESIGART,ARTICLE.SEUILMINI,mouvement.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,
SITE.LIBSITE,sous_site.LIBSOUSIT,SUM(FAIRE.QTEMVT) as qte_entree
from FAIRE faire, mouvement mouvement, TYPE_MOUVEMENT TYPE_MOUVEMENT, ARTICLE ARTICLE,
SITE site,SOUS_SITE sous_site
where faire.CODMVT=mouvement.CODMVT and TYPE_MOUVEMENT.CODTYPMVT= mouvement.CODTYPMVT and site.CODSITE=sous_site.CODSITE and sous_site.CODSOUSIT= mouvement.CODSOUSIT
and faire.CODART=ARTICLE.CODART and TYPE_MOUVEMENT.LIBTYPMVT like 'entr%'
group by ARTICLE.CODART,ARTICLE.DESIGART,
ARTICLE.SEUILMINI,mouvement.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,SITE.LIBSITE,sous_site.LIBSOUSIT
2) requête pour avoir la somme des sorties
select ARTICLE.CODART,ARTICLE.DESIGART,ARTICLE.SEUILMINI,mouvement.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,
SITE.LIBSITE,sous_site.LIBSOUSIT,SUM(FAIRE.QTEMVT) as qte_sortie
from FAIRE faire, mouvement mouvement, TYPE_MOUVEMENT TYPE_MOUVEMENT, ARTICLE ARTICLE,
SITE site,SOUS_SITE sous_site
where faire.CODMVT=mouvement.CODMVT and TYPE_MOUVEMENT.CODTYPMVT= mouvement.CODTYPMVT and site.CODSITE=sous_site.CODSITE and sous_site.CODSOUSIT= mouvement.CODSOUSIT
and faire.CODART=ARTICLE.CODART and TYPE_MOUVEMENT.LIBTYPMVT like'sorti%'
group by ARTICLE.CODART,ARTICLE.DESIGART,
ARTICLE.SEUILMINI,mouvement.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,SITE.LIBSITE,sous_site.LIBSOUSIT
maintenant je veux faire la somme de mes deux requêtes (différence) pour avoir le stock. comment procéder aider moi s'ils vous plait
1) requête pour avoir la somme des entrées
select ARTICLE.CODART,ARTICLE.DESIGART,ARTICLE.SEUILMINI,mouvement.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,
SITE.LIBSITE,sous_site.LIBSOUSIT,SUM(FAIRE.QTEMVT) as qte_entree
from FAIRE faire, mouvement mouvement, TYPE_MOUVEMENT TYPE_MOUVEMENT, ARTICLE ARTICLE,
SITE site,SOUS_SITE sous_site
where faire.CODMVT=mouvement.CODMVT and TYPE_MOUVEMENT.CODTYPMVT= mouvement.CODTYPMVT and site.CODSITE=sous_site.CODSITE and sous_site.CODSOUSIT= mouvement.CODSOUSIT
and faire.CODART=ARTICLE.CODART and TYPE_MOUVEMENT.LIBTYPMVT like 'entr%'
group by ARTICLE.CODART,ARTICLE.DESIGART,
ARTICLE.SEUILMINI,mouvement.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,SITE.LIBSITE,sous_site.LIBSOUSIT
2) requête pour avoir la somme des sorties
select ARTICLE.CODART,ARTICLE.DESIGART,ARTICLE.SEUILMINI,mouvement.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,
SITE.LIBSITE,sous_site.LIBSOUSIT,SUM(FAIRE.QTEMVT) as qte_sortie
from FAIRE faire, mouvement mouvement, TYPE_MOUVEMENT TYPE_MOUVEMENT, ARTICLE ARTICLE,
SITE site,SOUS_SITE sous_site
where faire.CODMVT=mouvement.CODMVT and TYPE_MOUVEMENT.CODTYPMVT= mouvement.CODTYPMVT and site.CODSITE=sous_site.CODSITE and sous_site.CODSOUSIT= mouvement.CODSOUSIT
and faire.CODART=ARTICLE.CODART and TYPE_MOUVEMENT.LIBTYPMVT like'sorti%'
group by ARTICLE.CODART,ARTICLE.DESIGART,
ARTICLE.SEUILMINI,mouvement.DATMVT,TYPE_MOUVEMENT.LIBTYPMVT,SITE.LIBSITE,sous_site.LIBSOUSIT
maintenant je veux faire la somme de mes deux requêtes (différence) pour avoir le stock. comment procéder aider moi s'ils vous plait
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
runworld
Messages postés
6
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
20 mars 2014
20 mars 2014 à 22:35
20 mars 2014 à 22:35
bonsoir à tous pour tous ceux qui seront confronté à ce problème un jour voici la solution:
SELECT
a.CODART,
a.CODFAMART ,
a.DESIGART,
a.SEUILMINI,
max(m.DATMVT)as DATMVT,
min(LIBTYPMVT)as LIBTYPMVT,
s.LIBSITE,
ss.LIBSOUSIT,
(SUM(CASE WHEN tm.LIBTYPMVT LIKE 'entr%' THEN f.QTEMVT ELSE 0 END)
-
SUM(CASE WHEN tm.LIBTYPMVT LIKE 'sorti%' THEN f.QTEMVT ELSE 0 END)) as stock
FROM FAIRE f
INNER JOIN mouvement m ON f.CODMVT = m.CODMVT
INNER JOIN TYPE_MOUVEMENT tm ON tm.CODTYPMVT = m.CODTYPMVT
INNER JOIN ARTICLE a ON f.CODART = a.CODART
INNER JOIN SOUS_SITE ss ON ss.CODSOUSIT = m.CODSOUSIT
INNER JOIN SITE s ON s.CODSITE = ss.CODSITE
WHERE tm.LIBTYPMVT LIKE 'entr%'
OR tm.LIBTYPMVT LIKE 'sorti%'
GROUP BY
a.CODART,
a.DESIGART,
a.CODFAMART ,
a.SEUILMINI,
s.LIBSITE,
ss.LIBSOUSIT
adapter la requête à vos besoins.
merci
SELECT
a.CODART,
a.CODFAMART ,
a.DESIGART,
a.SEUILMINI,
max(m.DATMVT)as DATMVT,
min(LIBTYPMVT)as LIBTYPMVT,
s.LIBSITE,
ss.LIBSOUSIT,
(SUM(CASE WHEN tm.LIBTYPMVT LIKE 'entr%' THEN f.QTEMVT ELSE 0 END)
-
SUM(CASE WHEN tm.LIBTYPMVT LIKE 'sorti%' THEN f.QTEMVT ELSE 0 END)) as stock
FROM FAIRE f
INNER JOIN mouvement m ON f.CODMVT = m.CODMVT
INNER JOIN TYPE_MOUVEMENT tm ON tm.CODTYPMVT = m.CODTYPMVT
INNER JOIN ARTICLE a ON f.CODART = a.CODART
INNER JOIN SOUS_SITE ss ON ss.CODSOUSIT = m.CODSOUSIT
INNER JOIN SITE s ON s.CODSITE = ss.CODSITE
WHERE tm.LIBTYPMVT LIKE 'entr%'
OR tm.LIBTYPMVT LIKE 'sorti%'
GROUP BY
a.CODART,
a.DESIGART,
a.CODFAMART ,
a.SEUILMINI,
s.LIBSITE,
ss.LIBSOUSIT
adapter la requête à vos besoins.
merci