Page 1 sur 1

requete :(

Posté : 18 mai 2005, 17:39
par loop
salut je n'arrive pas à faire la requete suivante
j'ai une liste de marque et je veux selectionner que les marques començant par un chiffre, A , B , C ... et m'arrété là ...
j'ai un peu de mal... j'ai mis un like mais rien d'optimal la :/
svp merci

Posté : 18 mai 2005, 17:43
par slipndi
Bonjour,
heu colle nous ton code, et réexplique ton problème d'un autre point de vue s'il te plait j'ai pas tout compris :roll:

Posté : 18 mai 2005, 17:43
par albat
un peu plus de détail, svp : ;)
- code utilisé
- jeu d'exemples

Posté : 18 mai 2005, 17:46
par loop
en fait j'ai une liste de marque
- nike
- rebook
- puma


etc

j'ai fait une page sur mon site ou je peux cliquer sur un lien pour accéder au site de la marque...
exemple

0 à E - F à O - P à Z

lorsque je clik sur A - E par exemple je voudrais pouvoir afficher toutes les marques commençant par 0,1,2,3...A,B,C,D,E.

j'ai du mal pour faire la requete en fait j'essaie un between un like mais nan rien de bon là ... c'est plus clair ?

Posté : 18 mai 2005, 17:53
par slipndi
oui c'est plus clair le genre de requete serait :

SELECT * FROM table WHERE nom_marque like ("a*" OR "b*" OR "c*" OR "d*" OR "e*")

je sais pas si cela marche mais c'est à tenter !

Posté : 18 mai 2005, 17:54
par Invité
je crois que cela est faisable avec EREG mais plus sur que ca

Posté : 18 mai 2005, 17:57
par loop
nan fonctionne pas ta requete :) EREG en SQLLLLL ???!!! nan je pense pas que ça existe ça :p

Posté : 18 mai 2005, 17:59
par slipndi
désoél c'était un essai mais je pense que c'est dans l'idée essaye comme ca lars :

SELECT * FROM table WHERE nom_marque like "a*" OR nom_marque like "b*" OR nom_marquee like "c*" OR nom_marque like "d*" OR nom_marque like "e*"

Je sais ca a pas l'air super efficasse mais bon je propose je propose ;)

Posté : 18 mai 2005, 18:03
par Cyrano
Pour information, les expressions régulières fonctionnent en SQL avec MySQL;
Voir ICI

Posté : 18 mai 2005, 18:03
par loop
alors voila ce qui fontionne

SELECT * FROM table WHERE nom like "a%" OR nom like "f%"

c'est pas très beau :/ je pense qu'on peut optimiser parce que si j'ai 10 lettre à tester ça fait 10 nom like " " :( arf

Posté : 18 mai 2005, 18:04
par loop
autant pour moi je savais pas pr les expressions régulières ;)

Posté : 18 mai 2005, 18:05
par albat
SELECT * FROM table WHERE LEFT(nom_marque,1) IN ('a', 'b', 'c', 'd', 'e')

Posté : 18 mai 2005, 18:07
par loop
voila la reponse ;)

SELECT * from marque where nom REGEXP '[0-9a-e]';

bien joué les expressions régulières ;)

merci les gars !

Posté : 18 mai 2005, 18:08
par loop
moins optimale ta requete albat je pense ;) mais merci quand mm !

Re:

Posté : 17 août 2011, 12:14
par Yosh
moins optimale ta requete albat je pense ;) mais merci quand mm !
Pas si sur que ça, faudrait faire un jeu d'essai conséquent pour pouvoir le dire.

Je dirais que c'est mieux que d'utiliser une regex, mais je me trompe peut-être...