Champ d'1 table SQL résultat de 2 autre champ
steve.bru
-
miked -
miked -
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.
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.
Configuration: Windows Vista Internet Explorer 7.0
3 réponses
-
Ben tu fais ton calcule en php et tu insère ta variable resultat via SQL.
-
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());
-
Salut.
Sinon tu peux créer un trigger sql qui recalcule la valeur dans qteSolde lorsque tu mets à jour l'une des autres tables.