Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Profil pro Elias Ametchi
    Inscrit en
    avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Nom : Elias Ametchi

    Informations forums :
    Inscription : avril 2010
    Messages : 13
    Points : 3
    Points
    3

    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 :
    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 Serge Girard
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    5 085
    Détails du profil
    Informations personnelles :
    Nom : Homme Serge Girard
    Âge : 57
    Localisation : France

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 5 085
    Points : 9 417
    Points
    9 417

    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 :
    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
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
    J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
    Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous

  3. #3
    Invité de passage
    Profil pro Elias Ametchi
    Inscrit en
    avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Nom : Elias Ametchi

    Informations forums :
    Inscription : avril 2010
    Messages : 13
    Points : 3
    Points
    3

    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
    Invité de passage
    Profil pro Elias Ametchi
    Inscrit en
    avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Nom : Elias Ametchi

    Informations forums :
    Inscription : avril 2010
    Messages : 13
    Points : 3
    Points
    3

    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
    Invité de passage
    Profil pro Elias Ametchi
    Inscrit en
    avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Nom : Elias Ametchi

    Informations forums :
    Inscription : avril 2010
    Messages : 13
    Points : 3
    Points
    3

    Par défaut

    Code :
    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 Serge Girard
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    5 085
    Détails du profil
    Informations personnelles :
    Nom : Homme Serge Girard
    Âge : 57
    Localisation : France

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 5 085
    Points : 9 417
    Points
    9 417

    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 :
    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
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
    J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
    Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •