Comparer 2 chaines avec SQL

Résolu
chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011 - 1 juil. 2008 à 11:35
chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011 - 1 juil. 2008 à 15:10
Bonjour,


je suis entrain de développer une application sous vb6 et je veux faire une reqête sql dont elle fait la comparaison de 2 chaînes qui appartiennent à 2 différentes tables access, je veux afficher tous les clients de la table client qui ont un prenom (ou une partie de prenom ) dans les prenoms qui existent dans la table cible (2ème table).


j'ai fais ma requête comme suit mais elle est lente en exécution:


select client.nom, client.prenom, client.tel from client, cible where (instr(1,client.prenom,cible.prenom)<>0);




Est ce que ma req est juste?
Il y a t il une solution plus rapide?


MERCI D'AVANCE.

.

11 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juil. 2008 à 11:59
(désolé du double post)
ou LIKE '%client.prenom%' si nécessaire
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juil. 2008 à 11:56
salut

si instr > 0 c'est que CIBLE est contenu dans CLIENT (les prénoms évidemment)donc VRAI pour CLIENT Jean-Paul, et CIBLE "Paul", pas l'inverse

la requête sera plutôt :
SELECT client.nom, client.prenom, client.tel FROM client, cible WHERE cible.prenom LIKE '%client.prenom';

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011
1 juil. 2008 à 12:06
Merci PCPT je veux l'essayer

.
0
chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011
1 juil. 2008 à 12:13
Mais a koi sert les cotes apres LIKE?

client.prenom est une valeur a consulter de la table Client
.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juil. 2008 à 12:29
google -> syntaxe sql LIKE

http://www.netalya.com/fr/sql.asp

L'instruction LIKE s'emploie avec WHERE pour rechercher des enregistrements comprenant une chaîne. Elle utilise le signe %

<dir>L'exemple ci-dessous recherche les adresses qui commencent par W dans la table contact </dir>SELECT adresse FROM contact WHERE adresse LIKE 'W%'

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011
1 juil. 2008 à 14:28
ma requete ne donne aucun resultat, malgre les table sont remplit par des milliers des donnees.

.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juil. 2008 à 14:34
y'a peut-être une jointure à faire... :)

la seule info que tu nous aies donné est "une requête sql sous vb6 sur 2 tables access"
quand tu executes la requête donnée directement dans access, çà donne quoi?

et tu as bien pris en compte la première partie de mon premier message?

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011
1 juil. 2008 à 14:45
oui, j'ai ecri la requete sous access directement comme tu l'as indique, mais sans resultat, Est ce que le pbl  est la jointure?

SELECT client.nom, client.prenom, client.tel
FROM client INNER JOIN cible ON client.Prenom = cible.prenom
WHERE cible.prenom LIKE '%client.prenom%';
 

.
0
chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011
1 juil. 2008 à 14:47
0 Ligne selectionnee lorsque j'applique cette requette sous access

.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juil. 2008 à 15:03
sans le WHERE il y a des résultats?
0
chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011
1 juil. 2008 à 15:10
Oui, il y a plusieurs lignes, j'ai teste ca dans access

.
0
Rejoignez-nous