Rechercher : dans
Par :

[SQL] Recherche partielle dans un champ

Dernière réponse le 1 aoû 2009 à 17:21:19 sly-bzh, le 10 jan 2008 à 10:10:23 
 Signaler ce message aux modérateurs

Bonjour à tous,
Je viens de me lancer dans le SQL et après quelques recherches il y a un problème que je n'arrive pas à résoudre.
Je vais prendre un exemple pas forcément pertinent mais qui permet de bien comprendre mon problème :
dans une de mes tables j'ai un champ NAME qui contient des noms de personnes sous la forme NOM_PRENOM. J'aurais aimé savoir si il était possible de lancer une requète SQL qui sélectionnerai toutes les personnes ayant le même NOM sans tenir compte de _PRENOM (une espèce de condition WHERE 'contient au moins NOM')

Je sais bien que mon exemple n'est pas super étant donné qu'il est très simple de créer 2 tables, une nom, l'autre prénom et de les lier mais je suis dans un cas où je ne peux pasl e faire, j'ai des données sous forme XXX_YYY et j'ai absolument besoin de récupérer tous les XXX. Ce n'est pas moi qui l'ai créé et la DB fait plusieurs milliers d'entrées donc pas question de toute la réécrire.

Merci d'avance

Meilleures réponses pour « [SQL] Recherche partielle dans un champ » dans :
Ajouter son site dans les moteurs de recherche VoirComment ajouter son site dans les moteurs de recherche C'est une question que tous se posent ... Le principe est le même mais le fonctionnement est parfois différent selon les moteurs ! En voici donc quelques-uns, mais dans une liste non...
PHP - Créer un moteur de recherche VoirIdée générale Le moteur de recherche ci-dessous ne correspond qu'à une idée possible de moteur de recherche simple, ne gérant qu'un seul mot clé. Le concept du fonctionnement de ce moteur est de créer une base de donnée contenant les mots clés de...

1

sebsauvage, le 10 jan 2008 à 10:13:45
  • +1

Pourquoi ne pas avoir mis nom et prénom dans des colonnes séparées ?

Tu pourrais faire WHERE NOM like "%pierre%"

Répondre à sebsauvage

2

sly-bzh, le 10 jan 2008 à 10:42:43
  • +1

En fait la table ne s'appelle pas NAME et les contenus ne sont pas NOM_PRENOM
Ce sont des termes techniques très complexes et j'ai simplifier cela pour que ça soit plus simple à comprendre mais étant donné que la structure est XXXX_YYYYY cela revient exactement au même.
Initialement les 2 champs n'ont pas été créés car à l'époque il n'y avait aucune utilité à le faire mais je suis en train de reprendre complètement toute la DB et aujourd'hui ça devient quasi obligatoire de le faire.

Je vais essayer WHERE like "%....%" et dès que j'ai la réponse je repasse

Répondre à sly-bzh

3

sly-bzh, le 10 jan 2008 à 10:48:05
  • +1

Ca fonctionne merci beaucoup :D

PS. Je viens de m'apercevoir que le titre de la discussion n'est que [SQL] je sais pas pourquoi il a pas pris tout mon titre, je suis désolé pour cela mais j'arrive pas à le changer

Répondre à sly-bzh

4

sebsauvage, le 10 jan 2008 à 10:50:13

Ok.

Pour le titre, dis-moi ce que tu veux mettre, le je corrigerai.

Répondre à sebsauvage

5

sly-bzh, le 10 jan 2008 à 11:08:36

Ben initialement j'avais mis [SQL]"arguments" de WHERE mais bon je sais pas si on peut vraiment parler d'argument ici.
C'est comme tu veux, si ce titre te va, tu peux le choisir ou alors je laisse libre cours à ton imagination

Répondre à sly-bzh

6

akvicky, le 20 fév 2009 à 16:26:17

Je recherche certaines personnes de novembre 2008 a fevrier 2009

Répondre à akvicky

7

 Fred, le 1 aoû 2009 à 17:21:19

Une solution c'est de sauver ta table dans un fichier de format csv. Ensuite tu ouvres de nouveau le fichier csv dans access (import), mais dans le wizard d'importation tu définis une colonne avec le signe "_". Access va donc t'importer 2 colonnes : l'une pour les prenoms, l'autre pour les noms.

Répondre à Fred
Collection CommentÇaMarche.net