Probleme des calculs dans une table
luckmalaba
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
voici mon problème, j'ai au depart une table nommée inventaire dans laquelle j'ai différent mouvement que voici:
1. châle R 50
2. chaussette D 20
2. chaussette R 30
2. chaussette D 2
3. costume D 6
la table admet les doublons pour qu'il ait plusieurs mouvement pour un produit
mais lorsque j'essaie de faire une requête pour me donner la quantité en stock de la table article ça me complique. la table article au depart est vide et attend de recevoir les valeurs provenant du calcul de l'inventaire de la table inventaire, la table article n'admet pas de doublon!!!
s.V.P je travaille avec php et mysqul
voici mon problème, j'ai au depart une table nommée inventaire dans laquelle j'ai différent mouvement que voici:
1. châle R 50
2. chaussette D 20
2. chaussette R 30
2. chaussette D 2
3. costume D 6
la table admet les doublons pour qu'il ait plusieurs mouvement pour un produit
mais lorsque j'essaie de faire une requête pour me donner la quantité en stock de la table article ça me complique. la table article au depart est vide et attend de recevoir les valeurs provenant du calcul de l'inventaire de la table inventaire, la table article n'admet pas de doublon!!!
s.V.P je travaille avec php et mysqul
A voir également:
- Probleme des calculs dans une table
- Table des matières word - Guide
- Table ascii - Guide
- Table des caractères - Guide
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Excel
- Budget mensuel ✓ - Forum Excel
7 réponses
Bonjour,
Essaie quelque chose de ce genre :
Xavier
Essaie quelque chose de ce genre :
SELECT Nom, SUM( CASE Mouvement WHEN 'R' THEN Quantite * (-1) ELSE Quantite END ) AS Stock FROM inventaire GROUP BY Nom
Xavier
Merci beaucoup Xavier,
mais j'ai quand même d'autre souci, voilà:
comment inserer le nom de l'article ainsi que la quantité obtenue lors de la sommation dans la table inventaire dans celle de l'article?
je m'explique: la table inventaire a: numéro article, nom article, mouvement et quantité; l'article peut se repeter dans cette table par rapport au mouvement R pour dire reçu et D pour dire distribué. alors l'insertion dans la table article se fait par l'addition de la quantité reçue et la sustraction de la quantité distribuée; mais dans cette table (article) le doublon n'est pas accepté.
j'attends votre réponse Xavier merci d'avance
mais j'ai quand même d'autre souci, voilà:
comment inserer le nom de l'article ainsi que la quantité obtenue lors de la sommation dans la table inventaire dans celle de l'article?
je m'explique: la table inventaire a: numéro article, nom article, mouvement et quantité; l'article peut se repeter dans cette table par rapport au mouvement R pour dire reçu et D pour dire distribué. alors l'insertion dans la table article se fait par l'addition de la quantité reçue et la sustraction de la quantité distribuée; mais dans cette table (article) le doublon n'est pas accepté.
j'attends votre réponse Xavier merci d'avance
Bonjour,
Là du coup, je ne suis pas sûr que cela fonctionne sous mysql.
Sous SQL Server, je ferais ceci :
En fait, c'est exactement la même requête, mais en rajoutant "INSERT INTO" avant. Cela suppose que la table Article soit bien vide. Si elle ne l'est pas, commence par la vider : TRUNCATE TABLE Article
(J'ai juste inversé 'R' et 'D', j'avais traduit ça part 'Retrait' et 'Dépôt', mais en fait c'est exactement le contraire :D )
Là du coup, je ne suis pas sûr que cela fonctionne sous mysql.
Sous SQL Server, je ferais ceci :
INSERT INTO Articles SELECT Nom, SUM( CASE Mouvement WHEN 'D' THEN Quantite * (-1) ELSE Quantite END ) AS Stock FROM inventaire GROUP BY Nom
En fait, c'est exactement la même requête, mais en rajoutant "INSERT INTO" avant. Cela suppose que la table Article soit bien vide. Si elle ne l'est pas, commence par la vider : TRUNCATE TABLE Article
(J'ai juste inversé 'R' et 'D', j'avais traduit ça part 'Retrait' et 'Dépôt', mais en fait c'est exactement le contraire :D )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voilà un fragment de mon code
<?php
$base=mysql_connect('127.0.0.1','root','') or die("erreur de connexion au serveur");
mysql_select_db('gestionstock',$base) or die("erreur de connexion a la base de donnees");
mysql_query('INSERT INTO article
SELECT nom,
SUM(CASE mouv WHEN 'D' THEN qua * (-1) ELSE qua END) AS Stock
FROM inventaire
GROUP BY nom');
//echo $reponse['qua'];
Et il y a ce message:
Parse error: syntax error, unexpected T_STRING in D:\Program Files\EasyPHP-5.3.3\www\tpgenie\quantitestock.php on line 15
merci
<?php
$base=mysql_connect('127.0.0.1','root','') or die("erreur de connexion au serveur");
mysql_select_db('gestionstock',$base) or die("erreur de connexion a la base de donnees");
mysql_query('INSERT INTO article
SELECT nom,
SUM(CASE mouv WHEN 'D' THEN qua * (-1) ELSE qua END) AS Stock
FROM inventaire
GROUP BY nom');
//echo $reponse['qua'];
Et il y a ce message:
Parse error: syntax error, unexpected T_STRING in D:\Program Files\EasyPHP-5.3.3\www\tpgenie\quantitestock.php on line 15
merci