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

InterBase Discussion :

Requête pour afficher une liste de stock


Sujet :

InterBase

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Requête pour afficher une liste de stock
    J'aimerais afficher le stock de chaque produit. J'ai écrit cette requête :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select desprod,(qteprod-(qtevdue) as stock
    from produit, concerner
    where produit.numprod=concerner.numprod;
    Le hic c'est que lorsque je l'exécute, il me donne le même produit, le même nombre vendu et le même restant en stock. Alors que je voudrais avoir comme résultat par exemple :

    coca quantité 200 quantité vendue 100 stock 100
    coca quantité 100 quantité vendue 50 stock 50
    SVP, aidez moi

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    Une description des 2 tables et de la relation entre celles-ci serait un atout non négligeable pour répondre intelligemment .
    une tentative :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT P.DESPROD,C.QTEPROD,C.QTEVDUE,C.QTEPROD-C.QTEVDUE AS STOCK
    FROM CONCERNER C JOIN PRODUIT P ON P.NUMPROD=C.NUMPROD
    Donnera un résultat par enregistrement de la table CONCERNER (production ?) , enfin si la relation entre concerner et produit est du type 1 produit 0..n concerner ?

    en cas de doute , un LEFT JOIN
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Produit (numero_produit, libelle_produit, prix_unitaire, quantité_produit) 0,n
    vente(numero_vente, date_vente) 1,n
    concerner (numero_produit, numero_vente, quantité_vendue, stock, montht, montttc)

    Par conséquent c'est une relation 0,n-1,n

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Merci pour votre aide mais cela me donne le même résultat que ma requête. Il réécrit le même nom du produit la même quantité, la même quantité vendue et le même stock

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT desprod,(qteprod-(qtevdue) AS stock
    FROM produit, concerner
    WHERE produit.numprod=concerner.numprod;
    J'ai du mal me faire comprendre alors je reprends. ce que j'aimerais c'est que lorsqu'on enregistre des données dans la table produit, la quantité du départ est remplacé au fur et à mesure que le produit est vendu jusqu'à ce que la quantité_produit soit à 0

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    la quantité du départ est remplacé au fur et à mesure
    Alors là , déjà , ce n'est pas un select qu'il va falloir faire mais mettre la valeur dans l'enregistrement via programme ou via un Trigger de la BDD

    quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    create trigger biConcerner for Concerner
      before insert 
    as
    begin
      new.Stock = <recherche de la derniere qte stock? via un select> 
    end
    personnellement je ne mémorise jamais la quantité stock dans une ligne de vente et je préfére de loin avoir un stock par produit obtenu de la manière suivante STOCK=QTE_INVENTAIRE-QTE_SORTIES+QTE_ENTREES
    enfin , chacun voit midi a sa porte
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2008, 18h24
  2. Requête pour afficher une période
    Par NedaRyme dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/03/2008, 12h26
  3. Lenteur de requête pour afficher une image
    Par bobobobo01 dans le forum WinDev
    Réponses: 2
    Dernier message: 20/07/2007, 16h22
  4. Problème pour afficher une liste déroulante
    Par Oli_Ifre dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2007, 10h11
  5. Recheche commande AWK pour afficher une liste de fichiers
    Par Krispy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 21/07/2006, 12h36

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