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

Requêtes MySQL Discussion :

Requête UPDATE utilisant deux tables [MySQL-3.23]


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 4
    Par défaut Requête UPDATE utilisant deux tables
    Bonjour, tout le monde permettez moi tout d'abord de vous remercier infiniment pour votre temps et patience

    mon problème consiste à modifier une valeur sur une colonne d'une table à partir d'une autre table je vous explique

    la 1ère table (Produit) est comme suit :

    id CodeBarre nProduit prixAchat PrixVente Stock
    1 78541245 Miel 10.00 15.00 100

    La 2ème table (Ventes)

    id Nfacture CodeBarre prixVente Quatite PrixTotal
    1 F13122021M 78541245 15.00 10 150.00

    mon souci est d'avoir une requête qui modifieras automatiquement le Stock = 100 en soustrayant la quantité vendu de 10 c'est à dire le stock sera après la requête = 90

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 917
    Par défaut
    Salut salahbr.

    Citation Envoyé par salahbr
    mon souci est d'avoir une requête qui modifieras automatiquement le Stock = 100 en soustrayant la quantité vendu de 10 c'est à dire le stock sera après la requête = 90
    Je ne suis pas d'accord de modifier la quantité en stocke de ton produit.
    Par contre, tu dois procéder par une requête pour calculer ce nouveau stocke.

    Voici ce que je propose :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    --------------
    START TRANSACTION
    --------------
     
    --------------
    set session collation_connection = "latin1_general_ci"
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_cs`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `produit`
    --------------
     
    --------------
    CREATE TABLE `produit`
    (  `codbarre`  integer unsigned NOT NULL primary key,
       `lib`       varchar(255)     NOT NULL,
       `stocke`    integer unsigned NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_cs`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `produit` (`codbarre`,`lib`,`stocke`) values
      (78541245,'miel',100),(79451793,'jambon',50)
    --------------
     
    --------------
    select * from `produit`
    --------------
     
    +----------+--------+--------+
    | codbarre | lib    | stocke |
    +----------+--------+--------+
    | 78541245 | miel   |    100 |
    | 79451793 | jambon |     50 |
    +----------+--------+--------+
    --------------
    DROP TABLE IF EXISTS `vente`
    --------------
     
    --------------
    CREATE TABLE `vente`
    (  `id`        integer unsigned NOT NULL auto_increment primary key,
       `codbarre`  integer unsigned NOT NULL,
       `qte`       integer unsigned NOT NULL,
       CONSTRAINT `FK_01` FOREIGN KEY (`codbarre`) REFERENCES `produit` (`codbarre`) ON DELETE CASCADE ON UPDATE CASCADE
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_cs`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `vente` (`codbarre`,`qte`) values
      (79451793,25),(78541245,10),(79451793,12),(78541245,5),(79451793,5)
    --------------
     
    --------------
    select * from `vente`
    --------------
     
    +----+----------+-----+
    | id | codbarre | qte |
    +----+----------+-----+
    |  1 | 79451793 |  25 |
    |  2 | 78541245 |  10 |
    |  3 | 79451793 |  12 |
    |  4 | 78541245 |   5 |
    |  5 | 79451793 |   5 |
    +----+----------+-----+
    --------------
    drop view if exists `vue`
    --------------
     
    --------------
    create view `vue` as
      select     t1.codbarre,
                 t1.lib,
                 t1.stocke as avant,
                 stocke - sum(t2.qte) as apres
     
            from `produit` as t1
     
      inner join `vente` as t2
              on t2.codbarre = t1.codbarre
     
        group by t1.codbarre
    --------------
     
    --------------
    select * from `vue`
    --------------
     
    +----------+--------+-------+-------+
    | codbarre | lib    | avant | apres |
    +----------+--------+-------+-------+
    | 78541245 | miel   |   100 |    85 |
    | 79451793 | jambon |    50 |     8 |
    +----------+--------+-------+-------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    Ainsi tu peux comparer le stocke initial avec ce qui te reste en stocke afin de déclencher un signal de réaprovisionnement.

    Cordialement.
    Artemus24.
    @+

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 4
    Par défaut
    Merci beaucoup

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 636
    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 636
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Attention : calculer le nouveau stock au moment de la facturation n'est applicable que si la facturation a lieu dès la réservation de la marchandise (facturation à la commande)

    Or il est fréquent qu'il y ait un délai entre commande et enlèvement ou livraison d'une part, et entre livraison ou enlèvement et facturation d'autre part.
    (facturation en fin de mois par exemple)
    À adapter en fonction du contexte

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 4
    Par défaut
    Merci beaucoup j ai adopté l'idée de ARTEMUS comme ça il y auras un historique même de la marchandises livrées par les fournisseurs

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

Discussions similaires

  1. requête UPDATE pour deux tables
    Par Lancelot du Lac35 dans le forum Requêtes
    Réponses: 3
    Dernier message: 06/02/2012, 17h18
  2. requête update entre deux tables
    Par evevev dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/03/2010, 19h21
  3. Requête UPDATE entre deux Bases de données
    Par dahu17 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/05/2007, 12h16
  4. [Access] Update liant deux tables
    Par zapatta dans le forum Langage SQL
    Réponses: 6
    Dernier message: 14/09/2006, 16h17
  5. [SQL] Problème avec script de pagination et requête sql sur deux tables
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2006, 14h06

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