Page 1 sur 1

Problème avec un select first qui génère une erreur

Posté : 17 janv. 2007, 20:20
par jay64
Bonjour à tous,

Je cherche à faire la chose suivante : récupérer uniquement le premier des six enregistrements que me retourne une requete contenant un WHERE et un ORDER BY.

Voici ma requete de base :
SELECT IdMatch FROM prono_MatchLigue1 WHERE IdJourneeLigue1 = 22 ORDER BY IdMatch ASC;
Je pensais simplement la transformer pour obtenir ceci :
SELECT FIRST (IdMatch) FROM prono_MatchLigue1 WHERE IdJourneeLigue1 = 22 ORDER BY IdMatch ASC;
Mais ça ne marche pas, ça me renvoie l'erreur suivante :
MySQL a répondu:

#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 '( IdMatch ) FROM prono_MatchLigue1 WHERE IdJourneeLigue1 = 22 ORDER BY IdMatch A' at line 1
Quelqu'un peut-il m'aider ?

Merci !

Posté : 17 janv. 2007, 20:28
par Hubert Roksor
Comme le dit le message d'erreur, il y a une erreur aux alentours de "( IdMatch ) ...", il faut donc que tu vérifies dans le manuel la bonne syntaxe de FIRST(). D'ailleurs, c'est ce à quoi servent les messages d'erreur, il faut les lire et suivre leurs conseils.

PS: attention il y a un piège

Posté : 17 janv. 2007, 20:33
par Ajoloca
Bonsoir,

Pourquoi ne pas utiliser LIMIT tout simplement ?

Code : Tout sélectionner

SELECT IdMatch FROM prono_MatchLigue1 WHERE IdJourneeLigue1 = 22 ORDER BY IdMatch ASC LIMIT 0, 1;

Posté : 17 janv. 2007, 21:14
par jay64
Ben oui, tout simplement !

Bien vu !

Merci !

Posté : 17 janv. 2007, 21:23
par Ajoloca
Re,

Je pense que tu faisais une confusion sur l'utilisation de first,

À ma connaissance il n'est utilisable que pour
ALTER TABLE
CREATE TABLE
HANDLER
et dans un sens de positionnement.

Posté : 17 janv. 2007, 21:26
par jay64
ok, je pense aussi. En tout cas, je note pour plus tard ...

Posté : 17 janv. 2007, 23:10
par Hubert Roksor
Moi je pense pas mais bon, thanks for all the fish.

Posté : 17 janv. 2007, 23:20
par Ajoloca
Moi je pense pas mais bon, thanks for all the fish.
Excuse-moi, je comprends pas bien. Peux-tu expliquer ?

You can't handle the truth

Posté : 17 janv. 2007, 23:33
par Hubert Roksor
Certains de mes posts sont rhétoriques, le précédent en fait partie mais je ferai une exception pour cette fois en explicitant. Je pense qu'il y a à peu près 0 chances pour qu'il s'agisse d'une confusion avec ALTER TABLE ou quoi que ce soit sorti du manuel de MySQL, mais plutôt un tutoriel pris au hasard sur le net. En l'occurence je viens de taper "SELECT FIRST" dans Google et je suis tomber sur celui-ci.

Quant au reste... je ne suis pas certain que jay64 aura compris qu'il faut en premier lire le manuel de MySQL pour comprendre ses erreurs, mais plutôt qu'en postant sa requête ici quelqu'un la corrigera.

Posté : 17 janv. 2007, 23:37
par Ajoloca
Merci Hubert,

La seconde partie, j'avais saisi. Je viens de comprendre la première,
mais j'avoue que jamais je n'aurais pensé que de tels tutos pouvaient exister.