Probleme des calculs dans une table
Fermé
luckmalaba
-
20 mai 2011 à 09:46
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 20 mai 2011 à 23:29
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 20 mai 2011 à 23:29
A voir également:
- Probleme des calculs dans une table
- Table ascii - Guide
- Table des matières word - Guide
- Calculer une moyenne sur excel - Guide
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum Logiciels
- Comment entrer des formules dans une calculatrice ti-83 - Forum calculatrices
7 réponses
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 mai 2011 à 11:03
20 mai 2011 à 11:03
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
luckmalaba
Messages postés
11
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
7 août 2012
20 mai 2011 à 14:55
20 mai 2011 à 14:55
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
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 mai 2011 à 15:41
20 mai 2011 à 15:41
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 )
luckmalaba
Messages postés
11
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
7 août 2012
20 mai 2011 à 16:01
20 mai 2011 à 16:01
merci,
j'essaie encore une fois!!!
Luck Malaba
j'essaie encore une fois!!!
Luck Malaba
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
luckmalaba
Messages postés
11
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
7 août 2012
20 mai 2011 à 16:11
20 mai 2011 à 16:11
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
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 mai 2011 à 16:26
20 mai 2011 à 16:26
Problèmes de quotes '
Remplace ta requête par ça :
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");
Remplace ta requête par ça :
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");
luckmalaba
Messages postés
11
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
7 août 2012
20 mai 2011 à 16:33
20 mai 2011 à 16:33
ça ne signale plus l'erreur, mais rien ne se passe dans la table article,
voici les attributs des deux tables
article(numart,nomart,qua)
inventaire(numinv,nom,mouv,qua)
merci
Luck Malaba
voici les attributs des deux tables
article(numart,nomart,qua)
inventaire(numinv,nom,mouv,qua)
merci
Luck Malaba
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 mai 2011 à 23:29
20 mai 2011 à 23:29
Utilise
echo mysql_error()
en php pour connaître une erreur mysql.
echo mysql_error()
en php pour connaître une erreur mysql.