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 :

Requete de sommes


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Par défaut Requete de sommes
    Salut noinneh

    Voici les données que j'ai pour mon problème

    J'ai les tables suivent tblAchatsMp, tblRequisition et tblMatieresPremieres

    tblAchatsMp, elle va comme suit :
    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
     
    idachatmp   dateachatmp       no_facture no_item  quantite  cout_unitaire
    1          2005-1-1 00:00:00   G-4438    B-1       200,00    4,95     
    2          2005-1-1 00:00:00   G-4438    B-2       225,00    3,25     
    3          2005-1-1 00:00:00   G-4438    B-3       135,00    4,99     
    4          2005-1-1 00:00:00   17856     BA-1      32,00     19,50     
    5          2005-1-1 00:00:00   G-4438    C-2       22,00     22,99     
    6          2005-1-1 00:00:00   G-4438    C-1       52,00     27,99     
    7          2005-1-1 00:00:00   23102     F-1       10,00     49,95     
    8          2005-1-1 00:00:00   23102     P-1       4,00      125,85   
    9          2005-1-1 00:00:00   18489     R-1       12,00     62,50     
    10         2005-1-7 00:00:00   G-4596    B-1       380,00    4,89     
    11         2005-1-7 00:00:00   G-4596    B-2       450,00    3,18     
    12         2005-1-7 00:00:00   G-4596    B-3       320,00    4,81     
    13         2005-1-7 00:00:00   18489     BA-1      80,00     19,25     
    14         2005-1-7 00:00:00   G-4596    C-2       65,00     24,05     
    15         2005-1-7 00:00:00   G-4596    C-1       50,00     28,95     
    16         2005-1-7 00:00:00   23457     F-1       22,00     50,75     
    17         2005-1-7 00:00:00   23457     P-1       10,00     143,93   
    18         2005-1-7 00:00:00   18489     R-1       80,00     63,95     
    19         2005-1-19 00:00:00  18513     BA-1      70,00     19,25     
    20         2005-1-27 00:00:00  G-4603    BC-1      60,00     9,48     
    21         2005-1-27 00:00:00  G-4603    BC-2      225,00    6,78     
    22         2005-1-27 00:00:00  G-4603    BC-3      120,00    13,98     
    23         2005-1-27 00:00:00  G-4603    BC-4      450,00    9,98     
    24         2005-1-27 00:00:00  G-4603    RC-1      60,00     40,18     
    25         2005-1-27 00:00:00  18542     BA-1      25,00     19,75
    Poursuivons avec la table tblRequesitions
    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
     
    "idrequisition"   "date_requisition"   "no_lot"   "no_requisition"   "no_item"   "quantite"
    3   2005-01-15   "1213"   122,00   "B-1"   150,00
    6   2005-01-15   "1214"   123,00   "B-1"   112,00
    9   2005-01-15   "1215"   124,00   "B-1"   90,00
    52   2005-01-28   "1222"   134,00   "B-1"   52,00
    10   2005-01-15   "1213"   125,00   "B-2"   180,00
    16   2005-01-15   "1214"   126,00   "B-2"   132,00
    1   2005-01-15   "1213"   122,00   "B-3"   140,00
    2   2005-01-15   "1213"   122,00   "C-1"   20,00
    4   2005-01-15   "1214"   123,00   "B-3"   120,00
    5   2005-01-15   "1214"   123,00   "C-1"   16,00
    7   2005-01-15   "1215"   124,00   "B-3"   78,00
    8   2005-01-15   "1215"   124,00   "C-1"   12,00
    11   2005-01-15   "1213"   125,00   "C-2"   36,00
    12   2005-01-15   "1213"   125,00   "BA-1"   40,00
    13   2005-01-15   "1213"   125,00   "F-1"   10,00
    14   2005-01-15   "1213"   125,00   "P-1"   5,00
    15   2005-01-15   "1213"   125,00   "R-1"   40,00
    17   2005-01-15   "1214"   126,00   "C-2"   22,00
    18   2005-01-15   "1214"   126,00   "BA-1"   26,00
    19   2005-01-15   "1214"   126,00   "F-1"   4,00
    20   2005-01-15   "1214"   126,00   "P-1"   4,00
    21   2005-01-15   "1214"   126,00   "R-1"   26,00
    22   2005-01-15   "1215"   127,00   "B-2"   93,00
    23   2005-01-15   "1215"   127,00   "C-2"   16,00
    24   2005-01-15   "1215"   127,00   "BA-1"   18,00
    25   2005-01-15   "1215"   127,00   "F-1"   6,00
    et la tblMatieresPremieres qui permet de savoir la quantite inventaire besoin en stock.
    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
     
    idmp          no_item   description              unite          qte_min
    1              B-1       2 X 4 X 12 pieds         Chaque         50,00     
    2              B-2       2 X 4 X 8 pieds          Chaque         50,00     
    3              B-3       2 X 6 X 8 pieds          Chaque         30,00     
    4              BA-1      Bardeaux asphalte        Paquet (32 p2) 10,00     
    17             BB-1      Ensemble de balançoires  Chaque         1,00     
    10             BC-1      4 X 4 X 8 pieds cèdre    Chaque         25,00     
    11             BC-2      2 X 4 X 10 pieds cèdre   Chaque         20,00     
    12             BC-3      2 X 8 X 16 pieds cèdre   Chaque         20,00     
    13             BC-4      1 1/4 X 6 X 12 pieds cèdrChaque         30,00     
    15             BC-5      5 X 5 X 16 pieds cèdre   Chaque         12,00     
    16             BC-6      2 X 5 X 16 pieds cèdre   Chaque         15,00     
    6              C-1       Contreplaqué 5/8         Chaque         10,00     
    5              C-2       Contreplaqué 1/2         Chaque         10,00     
    19             CC-9      Céramique (Alto-12)      Pied carré     0,00     
    7              F-1       Fenêtre 3 X 4            Chaque         2,00     
    22             IP-1      Installation de 9 pieux  Contrat        0,00     
    21             LM-1      Laine minérale           Paquet         0,00     
    8              P-1       Porte et poignée         Chaque         2,00     
    18             PP-1      Porte patio 6 pieds      Chaque         0,00     
    9              R-1       Revêtement Vinyle        Boîte (50 p2)  5,00     
    14             RC-1      Rampe en cèdre           Chaque         2,00     
    20             RC12-1    Revêtement cèdre 12 piedsChaque         0,00     
    23             V-1       2" x 4"                  chaque         25,00
    Ce que je veux c'est un rapport afin de si je dois commander ou pas des no_item selon une quantite demandé.

    Je dois trouver le somme des qte achatmp selon une date_achatmp (somqteachatmp), la somme qte requisition (sommeqtereq) aussi selon une date_requisition.

    Je trouve la qte restant qui va comme suit : somqteachatmp - sommeqtereq = solde restant.
    avec ce solde restant, je dois verifier si c est plus petit que la quantite minimum qu on doit avoir, si c est plus petit je dois lui indiquer dans commander.
    A remarque que dans la table tblRequisitions si on demande a partir du 2005-01-23 (date_requisition à= 2005-01-23)
    la somme de la qte requisition sera 352 et non 404 pour le no_item B-1.
    c est pour ca qu il faut entre une date.
    Ce que je veux c est une requete qui permet de passer une date.
    Note bien que dans les achats j'ai des matières premières qui datent du 2005-01-01 et 2005-01-07 alors si je fais une demandes d'inventaires le 2005-01-12 je dois donc voir les achats qui datent du 2005-01-01 et 2005-01-07 ici je parlais de no_item B-1

    Bonne journée !

    Je sais pas si c est assez clair mais bon

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Par défaut
    salut

    déja une remarque ou deux tu utilises des réels là où des entiers suffiraient (quantité, numéro de commande) et dans ta table requisition ton no_item est entre double quote alors qu'il n'en a pas dans les autres tables, ont ils un type different?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Par défaut
    si j'ai bien compris tu veux faire une requête à partir d'une date.
    Tu veux donc faire la différence des somme des quantités achetées et requisitionnées à partir d'une date donnée:
    somqteachatmp - sommeqtereq = solde restant
    where date > 2005-01-23
    note le > à la place du =.
    A partir de là je comprend pas que tu récupéres 352, tu devrais récupérer 52 (faute de frappe?)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Par défaut
    De plus il faut que tu stock la quantité disponible à un instant t parce que recalculer le total commandé moins le total réquisitionné c'est pas viable: dans 2 ans tu auras peut-être 3000 commandes au total pour chaque produits et autant dans la table réquesitions et ta requête va prendre un temps fou sachant que tu devra la faire pour chaque produit.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Par défaut Raison
    Salut

    Merci pour le coup de pouce. Disons que tu as raison un petit peu. alors ce que j ai fait c est deux queryes avec date inventaire et j ai fait sommeachatsmp - sommerequisition = solderestant. ca fonctionne bien ! Pour garder les achats mp, je fais une joiture left ou qqch comme ca donc si j ai aucune requisition pour un achats mp ca me donne tous les achats mp.

    anyway, ca semble bien fonctionne merci du coup de pouce.

    j aurais voulu faire en une seule query mais bon si ca fonctionne comme ca. disosn que mon niveau de tolerence a diminier lol

    salut et encore un gros merci.

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

Discussions similaires

  1. Requete de somme.
    Par dan016 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/12/2007, 04h53
  2. [requete] fonction somme
    Par atlantideD dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/07/2007, 15h23
  3. Requete avec Somme de Quantité qui me coince depuis 1 semaine
    Par andrew0val dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/08/2006, 09h46
  4. [Requete] Calcul Somme entre deux temps pour chaque jour
    Par nico33307 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/03/2006, 01h58
  5. Requete Selection Somme
    Par Le_Phasme dans le forum Langage SQL
    Réponses: 6
    Dernier message: 06/01/2005, 13h36

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