Aide sur écriture requête

bruce207 Messages postés 106 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 2 mai 2012 - 6 août 2008 à 12:03
crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011 - 6 août 2008 à 17:59
Bonjour,
j'ai changé de base de données (access) pour MySQL et j'avais la requête suivante qui me permettait d'avoir la liste des enregistrements de ma table DEMANDE dans l'ordre du nombre croissant de matricule du champ mat_d, c'est à dire par exemple si dans ma table j'ai : DEM1, DEM10, DEM2, DEM3, ...DEM9 j'aurai DEM1, DEM2, DEM3, ..., DEM10. Voici la requête :
"SELECT mat_d FROM demande ORDER BY CINT (MID(mat_d,4))"
car ici le champ mat_d est definie comme alphanumérique, donc il classe les enregistrements comme dans la ligne colorié en rouge, DEM10 après DEM1, ce qui est mon problème. Je voudrais savoir si quelqu'un pouvait me donner la requête correspondante avec MySQL car lorsque je l'ecrit j'ai un message d'erreur. J'ai meme essayer cette requête que j'ai eu mais j'ai message d'erreur :
"SELECT * FROM demande ORDER BY CONVERT (int,SUBSTRING(mat_d,4,999999999))"
Merci d'avance

1 réponse

crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
6 août 2008 à 17:59
Essaye :
SELECT mat_d FROM demande ORDER BY CINT (REPLACE(mat_d,'DEM',''))

qui te permet de remplacer la valeur de ton champ 'DEM' par rien
0
Rejoignez-nous