IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Etat de stocks


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    ETUDE
    Inscrit en
    Septembre 2016
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : ETUDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 360
    Par défaut Etat de stocks
    J'ai 3 tables: [Achatsparstation] pour les achats, [Ventesparstation] pour les ventes et [Autrestockinitialparstation] pour le stock initial
    je souhaite déterminer l'état de stocks à chaque opération pour cela j'ai écrit la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT distinct
    	COALESCE(E.[IDCLIENT],S.[IDCLIENT],I.[IDCLIENT]) AS [IDCLIENT],
    	COALESCE(E.[Idproduit],S.[Idproduit],I.[Idproduit]) AS [Idproduit],
    	sum(COALESCE(I.[Quantite],0))+sum(COALESCE(E.[Quantite],0))-sum(COALESCE(S.[Quantite],0)) AS [Quantite]
    FROM [dbo].[Achatsparstation]  E
    	left JOIN [dbo].[Ventesparstation]  S ON E.[Idproduit]=S.[Idproduit] AND E.[IDCLIENT]=S.[IDCLIENT] 
    	right JOIN [dbo].[Autrestockinitialparstation] I ON I.[IDCLIENT]=E.[IDCLIENT] AND E.[Idproduit]=I.[Idproduit]
    group by E.[IDCLIENT],S.[IDCLIENT],E.[Idproduit],S.[Idproduit],I.[IDCLIENT],I.[Idproduit]
    GO
    mais le résultat obtenue n'est pas juste et je ne comprend pourquoi? qu'est ce qu'il faut modifier dans cette requête pour obtenir le bon résultat

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Sans connaitre le résultat que tu attends ni celui que tu obtiens et les données qui concourent à celui-ci, il est difficile de te donner une réponse.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre éclairé
    Homme Profil pro
    ETUDE
    Inscrit en
    Septembre 2016
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : ETUDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 360
    Par défaut
    Bonsoir al1_24 et bon fin de weekend
    dans la table [Achatsparstation] j'ai deux approvisionnement d'un même produit
    Nom : achatstations.PNG
Affichages : 259
Taille : 5,1 Ko, dans la table [Ventesparstation] j'ai deux ventes d'un même produit
    Nom : vestestation.PNG
Affichages : 265
Taille : 6,0 Ko
    et dans la table [Autrestockinitialparstation] pour le même produit j'ai une valeur en stocks initial égale à 2
    Nom : stocks initial.PNG
Affichages : 270
Taille : 7,8 Ko
    je m'attendais à un résultat= à 28 mais j'obtient plutôt 60

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Avoir un peu plus d'informations m'a donné envie de regarder le contenu de la requête et entrevoir ce qui se passe...

    Je te conseille d'exécuter ta requête sans les regroupements, juste pour voir le détail des lignes qui entrent en jeu dans la requête.
    Cela te permettra de comprendre pourquoi ton résultat n'est pas juste et réfléchir à un moyen de contourner le problème.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre éclairé
    Homme Profil pro
    ETUDE
    Inscrit en
    Septembre 2016
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : ETUDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 360
    Par défaut
    Bonjour al1_24 j'ai simplifier la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select DISTINCT E.[IDCLIENT],E.[Idproduit], sum(E.[Quantite]) as entree,sum(S.[Quantite]) as Sortie
    from [dbo].[Achatsparstation] E
    full outer join [dbo].[Ventesparstation] S ON E.[IDCLIENT]=S.[IDCLIENT] AND E.[Idproduit]=S.[Idproduit]
    group by E.[IDCLIENT],E.[Idproduit]
    Nom : cumulk.PNG
Affichages : 277
Taille : 13,8 Ko
    et je rencontre toujours le même problème c'est à dire les doublons, pour la colonne "entree" le résultat attendue est égale à 36 et la colonne "Sortie" le résultat attendue est égale 10 or j'obtient le double pour chaque colonne et c'est mon éternel problème lorsque je veux faire un opération à partir de deux tables

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    As-tu fait ce que je t'avais proposé : exécuter la requête sans regroupement ni agrégats, pour voir le détail des montants ?
    Tu comprendras certainement mieux pourquoi tes montants sont multipliés.
    Essaye aussi en ajoutant une ou deux lignes dans chacune des tables, tu verras que les sommes ne sont plus doublées...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/01/2010, 11h51
  2. Etat du stock sur base access
    Par laurentinfo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/04/2008, 11h59
  3. Etat de Stock
    Par Flo88 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/02/2008, 14h16
  4. Achats/Ventes Etat du stock?
    Par delphinauxdz dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/10/2007, 02h49
  5. Réponses: 4
    Dernier message: 03/05/2006, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo