Champ d'1 table SQL résultat de 2 autre champ

Fermé
steve.bru - 29 mai 2008 à 11:17
 miked - 29 mai 2008 à 11:39
Bonjour,

J'utilise une base de données dont une table comporte (en tout cas) 3 champs:
- 'qteCommandee' (alimentée via requête SQL)
- 'qteVendue' (alimentée via requête SQL)
- 'qteSolde' (alimentée ???)

'qteSolde' devra être (comme vous l'avez sûrement déjà deviné) égal à ('qteCommandee' - 'qteVendue').

Par contre, comment le remplir automatiquement ce champ ?
MySQL peut-il le faire automatiquement ? Faut-il le faire en PHP après avoir rempli 'qteCommandee' et 'qteSolde' ?

Merci pour vos conseils/idées !

Steve B.
A voir également:

3 réponses

kifouillou Messages postés 170 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 28 janvier 2011 9
29 mai 2008 à 11:20
Ben tu fais ton calcule en php et tu insère ta variable resultat via SQL.
0
dudu134 Messages postés 2868 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 24 janvier 2009 608
29 mai 2008 à 11:31
Bonjour,
essaye ceci :

$rsql1 =" select qtecommandee,qtevendue from nom_de_ta_table ";
$req3 = mysql_query($rsql1) or die('Erreur SQL !'.$rsql1.'<br>'.mysql_error());
while($data = mysql_fetch_array($req3))
{
$qtecommandee=$data['qtecommandee'];
$qtevendue=$data['qtevendue'];


$qtesolde=$qtecommandee-qtevendue;
}
$sql =" UPDATE nom_de_ta_table SET qtesolde = $qtesolde";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

tu sera peut-être obligé un WHERE au select et au update en fonction du nom de l'article :

$rsql1 =" select qtecommandee,qtevendue from nom_de_ta_table where nom_article";
$req3 = mysql_query($rsql1) or die('Erreur SQL !'.$rsql1.'<br>'.mysql_error());
while($data = mysql_fetch_array($req3))
{
$qtecommandee=$data['qtecommandee'];
$qtevendue=$data['qtevendue'];


$qtesolde=$qtecommandee-qtevendue;
}
$sql =" UPDATE nom_de_ta_table SET qtesolde = $qtesolde where nom_article";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
0
Salut.
Sinon tu peux créer un trigger sql qui recalcule la valeur dans qteSolde lorsque tu mets à jour l'une des autres tables.
0