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

Langage SQL Discussion :

[DB2] calcul, gestion des stocks


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [DB2] calcul, gestion des stocks
    Tous d'abord mon code :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    SELECT CODARTICLE,ENTREE,SORTIEP,SORTIEN, (SORTIEP - SORTIEN)CALC FROM
     
    (SELECT DISTINCT(ARARTI) CODARTICLE
     FROM AUVERLOT.ARTICLEUCD
     WHERE THCODE01 = 'M'
     ) LISTARTICLE
     
     LEFT OUTER JOIN
     
     (SELECT ARARTI ARTE, SUM(SYQMVT) ENTREE
     FROM AUVERLOT.ARTICLEUCD
     WHERE THCODE01 = 'M' AND SYKNMV = 'E' AND (SYKCMV = 'EE' OR SYKCMV = 'EP')
     GROUP BY ARARTI ) TABLEE
     ON CODARTICLE = ARTE
     
     LEFT OUTER JOIN
     (SELECT ARARTI ARTSP, SUM(SYQMVT) SORTIEP
     FROM AUVERLOT.ARTICLEUCD
     WHERE THCODE01 = 'M' AND SYKNMV = 'S' AND (SYKCMV = 'PS' OR SYKCMV = 'IP')
     GROUP BY ARARTI ) TABLES
     ON CODARTICLE = ARTSP
     
     LEFT OUTER JOIN
     (SELECT ARARTI ARTSN, SUM(SYQMVT) SORTIEN
     FROM AUVERLOT.ARTICLEUCD
     WHERE THCODE01 = 'M' AND SYKNMV = 'S' AND (SYKCMV = 'NS' OR SYKCMV = 'IN')
     GROUP BY ARARTI ) TABLES
     ON CODARTICLE = ARTSN
    Explication de mon code :
    J'ai une grosse table auverlot.articleucd qui contient des mouvements de stock, je fais un premier select pour avoir la liste de mes articles et ensuite je fais 3 jointures externes qui permette de ressortir le nombre d'entrée,de sortie positive et de sortie négative.
    La première ligne de mon code permet de ressortir ces info sur une seule ligne par article et de faire un calcul (CALC) qui est la différence entre les sortie positive et les sortie négative.

    et maintenant mon problème : N'ayant pas toujours de sortie négative de stock, lorsqu'il essaie de faire le calcul de CALC dans ce cas là il n'arrive pas à sortir de résultat.
    exemple de résultat :
    CODARTICLE;ENTREE;SORTIEP;SORTIEN;(SORTIEP - SORTIEN)CALC
    article1;50;15;5;10;
    article2;70;25; ; ; <-> probleme
    article3;55;30;10;20;
    je pense que mon probleme viens du fait que la requete qui calcul le nombre de sortie de stock returne null quand il n'y a pas de sortie de stock et donc la soustraction ne peux se faire et donc retourne null aussi.

    Ma question est : pouvons nous faire un truc en SQL du genre : "SI SUM(SYQMVT) = NULL return 0" ?

    Je ne sais pas si je suis très compréhensible donc merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut
    Ce serait bien que tu précises ton SGBD, mais il existe une fonction COALESCE qui te permet de remplacer la valeur NULL d'une expression par ce que tu veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COALESCE(SUM(SYQMVT), 0)

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    merci bien... j'ai testé et ça a marché...
    Sinon juste pour ton information, je suis en base DB2 (AS400) avec liaison odbc et utilise un petit logiciel pour mes requetes : SQL-view.

    remerci et bonne continuation

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

Discussions similaires

  1. Quel langage pour une gestion des stocks-client-caisse ?
    Par plex dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 07/04/2007, 18h56
  2. [DB2] question gestion des droits
    Par chand_bing dans le forum DB2
    Réponses: 5
    Dernier message: 20/06/2006, 10h25
  3. Gestion des Stocks
    Par laklak dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/06/2006, 14h52
  4. [MS-DOS] Application de gestion des stocks
    Par ¤dinky¤ dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 30/01/2006, 14h25
  5. gestion des stocks
    Par gekondo dans le forum Access
    Réponses: 1
    Dernier message: 30/09/2005, 11h41

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