begin process at 2012 05 26 17:42:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

LIKE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

LIKE

lundi 20 juin 2005 à 16:11:27 | LIKE

elog29

Bonjour,
Je cherche a utiliser like sur 1 champ entre 2 tables, voici ma requete, elle ne me retourne pas d'erreur mais ne m'affiche pas de resultat

SELECT
48.prenom
FROM `48`
INNER JOIN agemoyen
WHERE (
`48`.prenom LIKE agemoyen.Prenom & ' ET %' OR `48`.prenom LIKE '% ET ' &agemoyen.Prenom)
AND age
BETWEEN
'70'
AND '75'

je travail sous mysql, j'ai essayé plein de chose mais rien a faire.
merci de votre aide
lundi 20 juin 2005 à 23:04:12 | Re : LIKE

nhervagault

Administrateur CodeS-SourceS
Salut

Je pense qu'il manque la condition de reunion entre tes deux tables.
SELECT 48.prenom
FROM `48`
INNER JOIN agemoyen
ON '48' .... = 'agemoyen......
WHERE (
`48`.prenom LIKE agemoyen.Prenom & ' ET %' OR `48`.prenom LIKE '% ET ' &agemoyen.Prenom)
AND age
BETWEEN
'70'
AND '75'

Elles sont bizarre tes tables???

Tes tables ne sont selon moi pas correctes.

Voila

mardi 21 juin 2005 à 09:48:32 | Re : LIKE

elog29

Merci de m'avoir répondu mais ça ne fonctionne toujours pas, pourquoi dis tu que mes tables sont bizarres?
En fait j'ai une table contacts avec toutes les coordonnées des contacts (nom, prenom, adresse, cp, ville, tel) et une table agemoyen avec un prenom et l'age moyen du prenom. Je voudrais recuperer les contacts qui ont un prenom d'age moyen entre 70 et 75, si je fais WHERE  `48`.prenom LIKE agemoyen.Prenom ça fonctionne mais le problème c'est que parfois j'ai 2 prenoms pour le meme contact (ex: ANNA ET PIERRE) c'est pourquoi je dois faire  WHERE (`48`.prenom LIKE agemoyen.Prenom & ' ET %' OR `48`.prenom LIKE '% ET ' &agemoyen.Prenom)
et la ça ne fonctionne pas sur  mysql alors que sur access ça fonctionne, je ne comprend pas pourquoi.

mardi 21 juin 2005 à 13:57:13 | Re : LIKE

Isengard

Ouais y'a un zgouillis au niveau de tes tables là...
En fait je vois pas pourquoi tu utilises un Like parce que un prénom c'est un prénom... tu peux utiliser directement = ca sera moins de soucis. Like ca sert quand tu a une partie seulement du mot que tu recherches LIKE 'abe' te sors tous les mots commençant par abe par exemple. Avec égal ça donne :
SELECT * FROM 48,agemoyen WHERE 48.prenom = agemoyen.Prenom AND agemoyen.[Le nom de la ligne contenant l'age moyen] BETWEEN '70' AND '75';

Euh le And associé à Between je suis pas sur qu'il soit bien géré.. a tester..
Tu peux pas donner la structure exacte de tes tables ?.

"Celui qui brise une chose pour découvrir ce que c'est a quitté le chemin de la sagesse"
mardi 21 juin 2005 à 15:59:51 | Re : LIKE

elog29

J'ai 1 table de contacts (ici nomée 48) avec 5 champs: Nom, Prenom, Adresse, CP, Ville, Telephone
et 1 table agemoyen avec 2 champs: Prenom, Age
Dans ma table des contacts, dans le champ Prenom, j'ai parfois 2 prenoms (ex: ANNE ET PIERRE) et je cherche a afficher les contacts dont le prenom a un age moyen entre par exemple 70 et 75 ans. on imagine que l'age moyen du prenom ANNE est de 70 ans, si j'ecris 48.prenom = agemoyen.Prenom alors il ne me retournera pas l'enregistrement ANNE ET PIERRE puisque agemoyen.prenom=ANNE et que 48.prenom=ANNE ET PIERRE, c'est pourquoi je dois utiliser like dans le cas ou il y a 2 prenoms dans mon champ '[prenomrecherché] ET %' ou '% ET [prenomrecherché]'
mercredi 22 juin 2005 à 09:11:40 | Re : LIKE

Isengard

Oulah oui je comprend le pourquoi du Like maintenant :) Mais si tu veux faire cette opération tu as besoin des deux tables et donc forcément d'une jointure et je suis pas sur que la jointure marche avec un Like (les jointures doivent porter sur des elements identiques). Je crois que tu n'as pas respecté une des regles fondamentales des bases de données : l'atomicité des données. C'est à dire que chaque donnée est reduite a son plus petit élément (exemple Anne Et Pierre donne une ligne Anne et une ligne Pierre) A part si ton traitement te force à réunir les deux prénoms...

"Celui qui brise une chose pour découvrir ce que c'est a quitté le chemin de la sagesse"


Cette discussion est classée dans : and, like, prenom, agemoyen


Répondre à ce message

Sujets en rapport avec ce message

Like et condition .. [ par cbu ] Bonjour,Je n'arrive pas à utiliser Like dans mon cas :Where (@pi_Email IS NULL OR Email LIKE ('%' & @pi_Email & '%'))Cela me renvoie :The data types v un BETWEEN qui me chagrine !! [ par nadegeva ] Bonjour à tous,1/ je débute en PHP mais je me soigne.2/ Voici mon problème :J'ai un petit formulaire avec un champ supprimer un seul enregistrement [ par xactise ] bonjours ,voila j'ai un enorme problemej'ai 2 enregistrement exemple : x , y , 12 , 2etx , y , 12 , 2et je fait un DELETE FROM MA_TABLE WHERE champ1=' delete un seul enregistrement [ par xactise ] bonjours ,voila j'ai un enorme problemej'ai 2 enregistrement exemple : x , y , 12 , 2etx , y , 12 , 2et je fait un DELETE FROM MA_TABLE WHERE champ1=' Requete oracle [ par drbarton ] Bonjour,j'ai céé une requete sql pour récupérer le montant des commandes par categorie de consommable. Il se trouve qu'elle marche parfaitement sous t CLAUSE LIKE + procédure stockée. [ par KC62 ] Bonjour a tous, voila j'ai un petit souci qui me pose de nombreux soucis car je n'arrive pas a le résoudre... Je souhaiterais éxécuté une procédure st probleme de AND , = [ par sheorogath ] bonjour a tousvoila m'etant mis un peu a la programmation de base de donnees en java j'ai commence le sqlj'ai trois tablele point commun de c'est tabl Condition sur insertion [ par Myke ] Bonjour à tous!J'utilise SqlServer 2000. J'ai une table avec plusieurs champ. Lorsqu'un utilisateur veut inserer un nouvel enregistrements je dois ver set d'une variable retourne null [ par bootchoz ] salut !qu'est-ce qui ne va pas dans ma procédure ?quelqu'un peut m'aider ? pourquoi @id_pers vaut null apres le set ?merci d'avance...CREATE PROCEDURE problme de selection de date [ par cudenetf ] bonjour,j'aimerais pouvoir simplement faire des comparaisons sur le champ date d'un smalldatetimesi une telle fonction existe merci de me le signalerJ


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales