J'aimerais faire une requete pour trouver les rues qui contiennent le NOM.
Mais pour la syntaxe, je sèche... une idée?
Portekoi
captain_torche
mardi 11 décembre 2007 à 16:50
SQL
SELECT * FROMtatableWHERERue LIKE'%Nom%'
Ca ne marche pas, çà ?
Portekoi
mardi 11 décembre 2007 à 16:51
Non, il le prend comme une chaine de caractère
captain_torche
mardi 11 décembre 2007 à 16:58
heu, je comprends pas ... le contenu de ton champ non, c'est quoi ?
Portekoi
mardi 11 décembre 2007 à 17:01
Exemple :
RUE = M. Captain_Torche 3 Rue du moulin Nom = Captain_Torche
Donc là, la requête doit me remonter quelque chose
kazhar
mardi 11 décembre 2007 à 17:07
CODE
SELECT `champs` FROM `table` WHERE MATCH (`Rue`) AGAINST (`Nom`);
Pas testé mais ça devrait fonctionner.
Portekoi
mardi 11 décembre 2007 à 17:40
il ne semble pas connaitre la commande MATCH et AGAINST . Je suis sous DB2 mais sous SQL Server aussi j'ai une erreur...
blman
mardi 11 décembre 2007 à 18:16
En PHP/MySQL, ça ferait : mysql_query("SELECT * FROM tatable WHERE Rue LIKE '%".$Nom."%'");
Pour ce qui est de la requête proposée par Kazhar, il faut qu'il y ait un INDEX FULLTEXT sur le champ sur lequel la requête se fait.
Mais sous DB2, je connais pas, mais il doit y avoir un équivalent à la requête proposée par captain_torche
Dan
mardi 11 décembre 2007 à 18:41
D'accord avec Kazhar et Blman ...
CODE
MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY EXPANSION])
nécessite la recherche en texte intégral (FULL-TEXT) dans mysql (à partir de la version 3.23.23)
Par contre, pour DB2 je l'ignore...
Portekoi
mardi 11 décembre 2007 à 22:19
@blman : Oui mais le but est de passer uniquement par du SQL
@Dan : Ok, je vais ca demain au boulot si je trouve un équivalent dans la doc
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.