aide pour une pitite requète [mysql] - SQL/NoSQL - Programmation
Marsh Posté le 08-07-2002 à 17:15:52
tu as pas un champ "id" dans ta table???
parce que le limit, c'est un peu hasard.
(genre si tu fais un order by truc limit 3, ça te renvoie pas necessairement les 3 records ou truc est le plus petit...)
Marsh Posté le 08-07-2002 à 17:17:04
--greg-- a écrit a écrit : tu as pas un champ "id" dans ta table??? parce que le limit, c'est un peu hasard. (genre si tu fais un order by truc limit 3, ça te renvoie pas necessairement les 3 records ou truc est le plus petit...) |
j'ai des numéros d'ordre : ordre
Marsh Posté le 08-07-2002 à 17:18:39
art_dupond a écrit a écrit : j'ai des numéros d'ordre : ordre |
UPDATE table SET brol=0 WHERE brol=1 AND ordre>5 AND ordre<=8;
Marsh Posté le 08-07-2002 à 17:23:01
tu dois bien avoir un champ clé primaire dans ta base ???
Marsh Posté le 08-07-2002 à 17:33:18
ben si, tu prends la requete que greg t'a filé plus haut, et tu remplaces ordre par id
Marsh Posté le 08-07-2002 à 17:43:06
euh... j'suis neuneu, mais je crois pas que c'est ce qu'il me faut.
bon je vais faire un dessin.
Code :
|
et je voudrais garder les 2 premières entrées avec brol=1 (donc les entrées avec brol=1 et dont ordre est le plus grand)
et les autres entrées ou brol=1, je veux les remettre à 0
donc je veux avoir en final :
Code :
|
donc je peux pas faire avec id
Marsh Posté le 08-07-2002 à 17:47:12
tu veux updater les deux qui ont l'ordre le plus petit alors?
Marsh Posté le 08-07-2002 à 17:55:08
update set brol=0 where brol=1 and id not in (select id from table where brol=1 order by ordre desc limit 2)
Marsh Posté le 08-07-2002 à 18:16:48
art_dupond a écrit a écrit : marche pas UPDATE sites SET top=0 where top=1 marche select id from table where brol=1 order by ordre desc limit 2 marche mais le tout ne marche pas |
t sur que t'as tout bien recopié?
et ça marche pas="y'a un message d'erreur" ou bien "ça fait pas ce que je veux" !?
Marsh Posté le 08-07-2002 à 18:31:21
ha oui euh c vrai, ça marche pas les requetes imbriquées dans mysql, oops.
euh alors donc je sais pas comment tu peux faire.
pê ton probleme se situe plus au niveau du data model
Marsh Posté le 08-07-2002 à 17:12:51
voilà, je voudrais faire un truc du style :
c'est pour changer brol en brol=0 pour les entrée de 5 à 8 où brol=1
j'en profite pour demander s'il y a pas moyen de faire ce qui suit, mais plus simplement parce que ca me parait un peu lourd pour ce que ca fait :
voili
je suis neuneu ! n'est-ce pas ?
Message édité par art_dupond le 08-07-2002 à 17:15:33
---------------
oui oui