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 :

Etats 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 Etats de stocks
    Salut le forum j'ai la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    SELECT
      v.[Numero]
     ,v.[Dates]
     ,v.[IdAgence]
     ,[IdAgcom]
     ,[Client]
     ,[cni_client]
     ,v.[Idproduit]
     ,v.[Categorie]
     ,[numero_serie]
     ,a.[Quantite] as Entree
     ,v.[Quantite] as Sortie
     ,s.[Quantite] as Report
     ,SUM(COALESCE(a.[Quantite],0)+COALESCE(s.[Quantite],0)-COALESCE(v.[Quantite],0))    OVER (PARTITION BY v.IdAgence,v.Idproduit  ORDER BY  v.[Dates],a.[Quantite],s.[Quantite],v.[Quantite] ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS STOCK_INITIAL
     ,SUM(COALESCE(a.[Quantite],0)+COALESCE(s.[Quantite],0)-COALESCE(v.[Quantite],0))   OVER (PARTITION BY v.IdAgence,v.Idproduit  ORDER BY v.[Dates],a.[Quantite],s.[Quantite],v.[Quantite]) AS ETAT_STOCK
     ,SUM(COALESCE(a.[Quantite],0)+COALESCE(s.[Quantite],0)-COALESCE(v.[Quantite],0))     OVER (PARTITION BY v.IdAgence,v.Idproduit  ORDER BY v.[Dates],a.[Quantite],s.[Quantite],v.[Quantite]) AS STOCK_FINAL
    from [Ventes] v
    	left outer join Stockinitiale s on s.[IdAgence]=v.IdAgence and s.Idproduit=v.Idproduit
    	left outer join [Achats] a on a.IdAgence=v.IdAgence and a.Idproduit=v.Idproduit
    pour déterminer l'état de stocks. mais à chaque fois que j'insert une vente la valeur de la colonne 'Entree' se répète et fausse le résultat
    Nom : etatdestocks.PNG
Affichages : 125
Taille : 9,2 Ko
    comment faire pour resoudre ce problème

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 651
    Billets dans le blog
    10
    Par défaut
    Bonsoir,

    Publiez la requête d'insertion puisque semble-t-il c'est elle qui pose souci !

  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 escartefigue
    voila les requêtes d'insertion pour les différentes tables qui interviennent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    INSERT [dbo].[Achats] ([Numero], [Dates], [Idproduit], [IdFournisseur], [Quantite], [Pu], [IdAgence], [Categorie]) 
    VALUES (1, CAST(N'2018-09-07' AS Date), 12, 11, CAST(50.000 AS Decimal(18, 3)), CAST(150000.000 AS Decimal(18, 3)), 7, N'55"')
     
    INSERT [dbo].[Stockinitiale] ([Numero], [Dates], [IdAgence], [Idproduit], [Categorie], [Quantite]) 
    VALUES (1, CAST(N'2018-09-15' AS Date), 8, 12, N'55"', CAST(10.000 AS Decimal(18, 3)))
     
    INSERT [dbo].[Ventes] ([Numero], [Dates], [IdAgcom], [Client], [cni_client], [Idproduit], [numero_serie], [Quantite], [Pu], [Remise], [NOFACTUR], [IdAgence], [Categorie]) 
    VALUES (1, CAST(N'2018-09-16' AS Date), 1, N'rodrigue', N'681891518', 12, N'gfgfhghg', CAST(5.000 AS Decimal(18, 3)), CAST(200000.000 AS Decimal(18, 3)), CAST(0.000 AS Decimal(18, 3)), NULL, 7, N'55"')
     
    INSERT [dbo].[Ventes] ([Numero], [Dates], [IdAgcom], [Client], [cni_client], [Idproduit], [numero_serie], [Quantite], [Pu], [Remise], [NOFACTUR], [IdAgence], [Categorie]) 
    VALUES (2, CAST(N'2018-09-16' AS Date), 1, N'rodrigue', N'6454125', 12, N'54ccxcv', CAST(10.000 AS Decimal(18, 3)), CAST(200000.000 AS Decimal(18, 3)), CAST(0.000 AS Decimal(18, 3)), NULL, 7, N'55"')

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour,

    en effet, si pour un produit, vous avez trois ventes et deux achats, vous aurez six lignes après la jointure.

    Une solution consiste à regrouper par produit dans des sous requêtes, afin de réduire à une seule ligne par produit.

  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 et merci pour votre réponse pouvez s'il vous plais me faire un exemple?

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