28-12-2006, 09:49 PM
J'ai continué à coder. Je suis revenu sur ma petite requête SQL. Cependant, cela bloque :'(
J'ai deux choix : soit je laisse ainsi et l'erreur vient du fait que je ne peux mettre deux tables après l'UPDATE (pas logique car cela fonctionnait) soit je l'enlève et il ne veut pas reconnaitre les clauses de WHEN en spécifiant la table.
Enfin, voilà
Code :
UPDATE table_perso AS p SET p.pm =
CASE
WHEN (( p.pm - CASE
WHEN table_carte.type = 1 THEN 1
WHEN table_carte.type = 2 THEN 1
WHEN table_carte.type = 3 THEN 2
WHEN table_carte.type = 4 THEN 3
END) > 0)
THEN
(p.pm - CASE
WHEN table_carte.type = 1 THEN 1
WHEN table_carte.type = 2 THEN 1
WHEN table_carte.type = 3 THEN 2
WHEN table_carte.type = 4 THEN 3
END,
p.x = p.x + $x, p.y = p.y + $y)
ELSE
p.pm
END
WHERE p.id = '".$_SESSION['id']."' AND table_carte.x = p.x AND table_carte.y = p.y
J'ai deux choix : soit je laisse ainsi et l'erreur vient du fait que je ne peux mettre deux tables après l'UPDATE (pas logique car cela fonctionnait) soit je l'enlève et il ne veut pas reconnaitre les clauses de WHEN en spécifiant la table.
Enfin, voilà