Page 1 sur 1
requête sql un peu particulière ...
Posté : 15 nov. 2007, 14:57
par babiloou
Bonjour,
Voilà , je cherche à connaitre la requete sql qui me permettrait dans un tableau de séléction les lignes de ce dernier qui comprendraient dans un champs des caracteres alphabet (et pas que numérique)
je m'explique
id code nom
1 125 gbriel
2 A12 rene
3 547 paul
4 57B louis
je dois trouvrer une requete me permettant de séléction dans ce tableau la ligne 2 et 4.
merci d'avance pour votre aide ...
cordialement.
Posté : 15 nov. 2007, 15:12
par Snipy
EDIT 
ublie de ce que j'ai dit et regarde les réponses ci dessous qui sont bien plus complètes
Posté : 15 nov. 2007, 15:13
par h0_noMan
Je suis pas sur mais il me semble que cela peux fonctionner comme ceci :
SELECT id,nom,code FROM MaTable WHERE code REGEXP '[:alpha:]'=1
Posté : 15 nov. 2007, 15:15
par Victor BRITO
Je m'essaie :
Code : Tout sélectionner
SELECT code, nom
FROM nom_de_la_table
WHERE code REGEXP "[[:alnum:]]+"
erreur sql
Posté : 15 nov. 2007, 15:44
par babiloou
la requete suivante
SELECT SELECT id FROM codes WHERE code REGEXP '[:alpha:]'=1
j'obtiens :
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 'SELECT id FROM code WHERE code REGEXP '[:alpha:]''
Posté : 15 nov. 2007, 15:45
par Victor BRITO
Essaie la requête que j'ai indiquée ci-dessus : elle devrait marcher, normalement.
pas plus
Posté : 15 nov. 2007, 15:58
par babiloou
malheureusement celle_çi me renvoi sur erreur sql cependant ma requete utilise dejà des guillmets je les ai donc supprimé (tjrs pas) puis remplacé par (')
voici ma requete complête :
$result = mysql_query("SELECT SELECT id FROM tablecode WHERE code REGEXP [[:alnum:]]+") or die(mysql_error());;
ou encore :
$result = mysql_query("SELECT SELECT id FROM tablecode WHERE code REGEXP '[[:alnum:]]+'") or die(mysql_error());;
Posté : 15 nov. 2007, 16:13
par Victor BRITO
Le mot SELECT est répété.

merci
Posté : 15 nov. 2007, 16:30
par babiloou
merci victor ça marche !!
que fais tu en ce moment ? tu recherches un stage rémunéré ? un emploi ?
j'ai téléchargé ton cv ... je le garde de côté , donne moi quelques précisions sur ta recherche actuelle
cordialement,
xavier
Posté : 15 nov. 2007, 16:47
par Truc
Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération toi-même
en cliquant sur le bouton
qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).
Alors... inscris-toi !!!
Toujours commencer par tester les requêtes sans PHP autour... directement dans phpmyadmin (ou autre)
Posté : 15 nov. 2007, 17:05
par h0_noMan
D'apres ce qu'il dit il cherche une requete ne selectionnant que les enregistrements ou il y a au moins un lettre dans code.
Or avec cette requete tu obtiens :
Code : Tout sélectionner
SELECT "512" REGEXP "[[:alnum:]]+" -> 1
SELECT "51A" REGEXP "[[:alnum:]]+" -> 1
Il faudrait, je pense, préferer
:alpha: à
:alnum:
Code : Tout sélectionner
SELECT "512" REGEXP "[[:alpha:]]+" -> 0
SELECT "51A" REGEXP "[[:alpha:]]+" -> 1
Ensuite, j'ai peut etre mal compris sa demande.