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

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.
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Ben tu fais ton calcule en php et tu insère ta variable resultat via SQL.
    1. 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());
      1. Salut.
        Sinon tu peux créer un trigger sql qui recalcule la valeur dans qteSolde lorsque tu mets à jour l'une des autres tables.