Partage
  • Partager sur Facebook
  • Partager sur Twitter

Imbrication de Conditions

Sujet résolu
    21 mars 2011 à 17:25:38

    Bonjour,

    Je cherche un moyen d'exécuter 2 conditions dans un UPDATE :

    Voici ma requete actuelle :

    UPDATE maTable SET monChamps = monChamps + IF( monAutreChamps = X, Y, Z )

    Je souhaiterai ajouter la condition suivante en plus :

    Si (monChamps + (Y OU Z)) > W ALORS monChamps = W

    Je suppose que qu'il faut imbriquer une deuxième condition. Mais j'avoue ne pas trouver.
    • Partager sur Facebook
    • Partager sur Twitter
      21 mars 2011 à 17:42:18

      Je comprend pas bien ce que tu vexu faire. Tu sais dire en français la requête que tu voudrais ?
      • Partager sur Facebook
      • Partager sur Twitter
        21 mars 2011 à 19:28:28

        En gros c'est : Met a jour le champs Energie de la table joueur.

        Si IDMap = 12 alors alors Energie = Energie + 150.

        SINON Energie = Enegie + 100

        MAIS quoi qu'il arrive si Energie + X (soit 100, soit 150) > 1200 ALORS Energie = 1200
        • Partager sur Facebook
        • Partager sur Twitter
          21 mars 2011 à 20:26:37

          UPDATE taTable 
          SET Energie = (
              CASE
                  WHEN (IDMap = 12 AND (Energie + 150) < 1200) THEN (Energie +150)
                  WHEN (IDMap <> 12 AND (Energie + 100) < 1200) THEN (Energie + 100)
                  ELSE 1200
              END
          )
          WHERE ...
          
          • Partager sur Facebook
          • Partager sur Twitter
            21 mars 2011 à 21:11:09

            C'est pourtant la première méthode que j'ai apprise en cours >_>

            Merci pour ce rafraichissement de mémoire.
            • Partager sur Facebook
            • Partager sur Twitter
              22 mars 2011 à 20:24:55

              On doit pouvoir remplacer ce case par un if de ce style : IF(energie + 100 + 50*(IDMap = 12) < 1200, energie + 100 + 50*(IDMap = 12), 1200).
              • Partager sur Facebook
              • Partager sur Twitter
                23 mars 2011 à 11:56:13

                C'est assez crade par contre ce "50 * BOOLEEN" =/
                • Partager sur Facebook
                • Partager sur Twitter

                Imbrication de Conditions

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown