[SQL] IF dans requete UPDATE: possible?[RESOLU] - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [SQL] IF dans requete UPDATE: possible?[RESOLU] (/showthread.php?tid=1639) |
[SQL] IF dans requete UPDATE: possible?[RESOLU] - corentone - 26-08-2007 Bonjour! Encore un probleme avec le SQL...(oui j'essaye de regler mes problemes en SQL, c'est plus rapide qu'en php... ) Pour le moment, voici ma requeteElle marche^^) Code : UPDATE dj,clubs,soiree SET soiree.nbpersonne_soiree=CEIL(SQRT(dj.reputation_dj*clubs.reputation_club)/(soiree.prixentree_soiree/2)+0.3*clubs.capacite_club) WHERE soiree.id_dj=dj.id_dj AND soiree.id_club=clubs.id_club AND soiree.date_soiree='2007-08-24' Je veux rajouter un IF (ou CASE), pour que si le nombre de personne(soiree.nbpersonne_soiree) calculé par la formule (racine(reputation_dj*reputation_club)/(prixentree/2)+0.3*capacite_club)est Superieur a la capacité du club(clubs.capacite_club), on entre juste la capacité du club au lieu de la formule. Voila ce que cela me donne avec une structure IF (d'apres la doc mysql...) Code : UPDATE dj,clubs,soiree SET IF CEIL(SQRT(dj.reputation_dj*clubs.reputation_club)/(soiree.prixentree_soiree/2)+0.3*clubs.capacite_club)>clubs.capacite_club THEN soiree.nbpersonne_soiree=clubs.capacite_club ELSE soiree.nbpersonne_soiree=CEIL(SQRT(dj.reputation_dj*clubs.reputation_club)/(soiree.prixentree_soiree/2)+0.3*clubs.capacite_club) END IF WHERE soiree.id_dj=dj.id_dj AND soiree.id_club=clubs.id_club ANDsoiree.date_soiree='2007-08-24' et voici le joli message d'erreur PhpMyAdmin: Code : 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF CEIL(SQRT(dj.reputation_dj*clubs.reputation_club)/(soiree.prixentree_soiree/2' at line 1 Merci de votre aide. Cela me semble bizarre et j'ai peur que l'on ne puisse pas de IF dans un update Corentone RE: [SQL] IF dans requete UPDATE: possible? - jo_link_noir - 26-08-2007 je pense dire une connerie mais peut-être avec une concaténation... UPDATE dj,clubs,soiree SET". IF CEIL(SQRT(dj.reputation_dj*clubs.reputation_club)/(soiree.prixentree_soiree/2)+0.3*clubs.capacite_club)>clubs.capacite_club." THEN soiree.nbpersonne_soiree=clubs.capacite_club". ELSE ."soiree.nbpersonne_soiree=CEIL(SQRT(dj.reputation_dj*clubs.reputation_club)/(soiree.prixentree_soiree/2)+0.3*clubs.capacite_club) WHERE soiree.id_dj=dj.id_dj AND soiree.id_club=clubs.id_club ANDsoiree.date_soiree='2007-08-24' RE: [SQL] IF dans requete UPDATE: possible? - nemesis_elite - 26-08-2007 Oui c'est une connerie, C'est pas pour être méchant, bien sûr ! Code PHP :
Il se fait tard, alors pardon si ce n'est pas ça NemeSiS_eliTe, qui va faire dodo ^^ RE: [SQL] IF dans requete UPDATE: possible? - denisc - 26-08-2007 Plus rien à dire. Ce qu' a écrit nemesis_elite est correct... pour M$SQL... Je sais pas si ça marche sur MySQL, mais... pourquoi pas RE: [SQL] IF dans requete UPDATE: possible? - corentone - 26-08-2007 Merci Nemesis_Elite Pas d'erreur sous PHPmyadmin , je vais donc la tester dans le jeu mais ca m'a l'air d'etre exactement ce que je recherchais Allé Hop +1 de reput, meme si ca sert a rien ce truc, si ca peut faire joli^^ Encore merci RE: [SQL] IF dans requete UPDATE: possible? - nemesis_elite - 26-08-2007 Eh bien, ce fut un plaisir de t'aider Et merci pour le +1 de réputation. ^^ |