OVH Community, votre nouvel espace communautaire.

Problème avec un SELECT (lié à une version de MYSQL ?)


alexlop
09/12/2007, 13h18
biensur que j'aurai du ecrire

ORDER BY n.id_news DESC

c'est rectifié
mais je ne comprend toujours pas pourquoi ca marchais avant sans et que maintenant ca ne marche plus !

enfin merci pour la resolution du probleme
et pour les jointures avec inner left right... je verrai plus tard

vtuning.net
07/12/2007, 04h04
Il ne faudrait pas plutot écrire

Code:
SELECT m.prenom, m.id, m.fac, m.annee, n.id_news, n.titre, n.corps, n.date, n.categ, n.id_membres
FROM news AS n, membres AS m
WHERE m.id = n.id_membres
ORDER BY n.id_news DESC 
LIMIT 0 , 7
Si je peux me permettre un conseil, tu devrais essayer d'écrire :

Code:
SELECT m.prenom, m.id, m.fac, m.annee, n.id_news, n.titre, n.corps, n.date, n.categ, n.id_membres
FROM news AS n, 
LEFT|INNER|RIGHT JOIN membres AS m
ON (m.id = n.id_membres)
ORDER BY  'id_news' DESC 
LIMIT 0 , 7
Tu laisses LEFT, INNER ou RIGHT en fonction de tes besoins.
Si bien sur la fonction de ta requête est compatible avec cette syntaxe.

alexlop
06/12/2007, 23h47
désolé mais pour moi ca n'est toujours pas resolu
je suis bien sous Version du client MySQL: 5.0.32
et ca ne gere pas DESC

ma requete qui marchait tres bien il y a 3 mois, ne classe plus par ordre decroissant sans aucune modification du fichier... donc sans explication

SELECT m.prenom, m.id, m.fac, m.annee, n.id_news, n.titre, n.corps, n.date, n.categ, n.id_membres
FROM news AS n, membres AS m
WHERE m.id = n.id_membres
ORDER BY 'id_news' DESC
LIMIT 0 , 7

ova13
05/11/2006, 12h06
Je pense que je viens de comprendre !

J'ai cherché sur le forum et j'avais une base MYSQL 4 en fait..

J'ai donc créer une base MYSQL 5 et ça devrait marcher maintenant !

Je fais passé à "Réglé".

ova13
04/11/2006, 11h00
Salut à tous,

Voilà, je développe avec Wamp (contenant MYSQL 5.0.22) et la requête suivante passe très bien :
Code:
SELECT id, pseudo, prenom, (SELECT count( ud_convoc_id ) FROM nuked_users_dispo, nuked_matchs WHERE id = ud_user_id AND ud_convoc_id = '3' AND ud_match_id = match_id AND match_reporte = '0' AND (match_score1 != '' OR match_score1 != '')) AS cpt 
FROM nuked_users, nuked_users_dispo 
WHERE id = ud_user_id 
GROUP BY id, pseudo, prenom 
ORDER BY cpt DESC
Problème, chez OVH (avec MYSQL 5.0.18), j'ai une erreur 1064 (pb de syntaxe).

Savez-vous pourquoi ?
Auriez-vous une solution à me proposer ?

Merci d'avance...