Lentreprenaute Posté 24 Mai 2006 Posté 24 Mai 2006 Bonjour, Je souhaiterai interroger un table qui contient pour chaque profil une colonne avec les mots clés associés. Je voudrai afficher les mots clés et éviter les doublons, si j'ai 10 inscrits qui utilise le mot agence, je voudrai generer un resultat qui n'en affiche qu'un. Est ce que je peux gerer cela avec des requetes mysql? Cordialement, Florent
Sarc Posté 24 Mai 2006 Posté 24 Mai 2006 Bonjour, SELECT DISTINCT id_membre WHERE mot LIKE "%a" Essaye ça
DuR0 Posté 24 Mai 2006 Posté 24 Mai 2006 (modifié) Euh... On ne fait pas de DISTINCT sur une clé primaire... Puis les mot qui commence par "A" se serait pas LIKE "A*" ou LIKE "A%"? Modifié 24 Mai 2006 par DuR0
petit-ourson Posté 24 Mai 2006 Posté 24 Mai 2006 Euh... On ne fait pas de DISTINCT sur une clé primaire... Puis les mot qui commence par "A" se serait pas LIKE "A*" ou LIKE "A%"? <{POST_SNAPBACK}> Pourquoi pas de distinct sur une clef primaire ?
DuR0 Posté 24 Mai 2006 Posté 24 Mai 2006 (modifié) Car une clef primaire est par définition unique... Modifié 24 Mai 2006 par DuR0
Sarc Posté 24 Mai 2006 Posté 24 Mai 2006 Euh exact j'ai mis une bêtise (jsuis allé trop vite...) SELECT DISTINCT mot, id_membre WHERE mot LIKE "%a" GROUP BY mot Ca devrait être mieux...
petit-ourson Posté 24 Mai 2006 Posté 24 Mai 2006 (modifié) Car une clef primaire est par définition unique... Ah oui vu comme cela. Remarque rien nous dit que id_membre est unique tout au moins en dehors de la table des 'membres' Edit : Ah non j'ai rien dit ... bon je vais boire un autre apéro, ça ira mieux après ;o) Modifié 24 Mai 2006 par petit-ourson
DuR0 Posté 24 Mai 2006 Posté 24 Mai 2006 Ah ben non... Pas de DISTINCT et de GROUP BY... "Aie... Aie... Mais Madame qu'ai je fais?" - Regarde ta requête! Tu veux des baffes? Ici pas besoin de GROUP BY... Aucune utilité. et le LIKE je suis tjrs pas d'accord !
petit-ourson Posté 24 Mai 2006 Posté 24 Mai 2006 (modifié) id_membre n'a certainement rien d'une clef primaire. SELECT id_membre, mot FROM matable WHERE mot LIKE 'a%' Si le résultat de ma requete me retourne : id_membre | mot1 | agence2 | agence1 | attention Faire une requête avec un distinct est correct. SELECT DISTINCT id_membre FROM matable WHERE mot LIKE 'a%' Je récupère : id_membre12 Modifié 24 Mai 2006 par petit-ourson
DuR0 Posté 24 Mai 2006 Posté 24 Mai 2006 Si id_membre n'est pas une clef primaire certainement Enfin je comprend plus trop son problème, c'est pas les doublons dans les mots qu'il essaye d'éviter?
petit-ourson Posté 24 Mai 2006 Posté 24 Mai 2006 Si id_membre n'est pas une clef primaire certainement Enfin je comprend plus trop son problème, c'est pas les doublons dans les mots qu'il essaye d'éviter? <{POST_SNAPBACK}> Euh ... si je crois ... SELECT DISTINCT mot FROM matable WHERE mot LIKE 'a%' En fait on s'en fout du id_membre ...
Sarc Posté 24 Mai 2006 Posté 24 Mai 2006 Bon c'est décidé je vais prendre un cachet d'aspirine et au lit, je boycotte le Hub le temps de me remettre... Désolé pour toutes les âneries que j'ai pu écrire en deux posts seulement, je crois que la fatigue m'atteint au plus haut point... Mea culpa. Je laisse ça aux pros
Lentreprenaute Posté 24 Mai 2006 Auteur Posté 24 Mai 2006 merci , je vous laisse vous mettre d'accord et je vois ca demain car moi, it's time to go ) c'est pas sympa de poser des questions et d'aller se promener, desole Florent
smile Posté 24 Mai 2006 Posté 24 Mai 2006 (modifié) Je voudrai afficher les mots clés et éviter les doublons, si j'ai 10 inscrits qui utilise le mot agence, je voudrai generer un resultat qui n'en affiche qu'un. En lisant je comprends que tu veux eviter les doublons utilisés par plusieurs inscrits pour des mots clés. Dans ce cas c'est mieux de creer une table à part pour tes mots clés et relier par par l'id inscrit. Comme ca tu peux travailler sur ta table mot clé et aussi sur tes inscrits, tu gagnes en cohérence et plus besoin de distinct Modifié 24 Mai 2006 par smile
robinsonvendredi Posté 24 Mai 2006 Posté 24 Mai 2006 je voudrai generer un resultat qui n'en affiche qu'un. <{POST_SNAPBACK}> qui n'en affiche qu'un quoi ? un inscrit ? un mot clé ? quel rapport avec le titre de ta question ? c'est incompréhensible. Je voudrai afficher les mots clés qui commencent par A et éviter les doublons +1 C'est tout simplement : SELECT DISTINCT mot FROM matable WHERE mot LIKE 'A%'
Lentreprenaute Posté 25 Mai 2006 Auteur Posté 25 Mai 2006 Merci de vos participations, je viens donc d'essayer cette ligne: mon champ mot contient plusieurs mots comme je ne veux afficher que le mot recherché le code suivant me retourne tout le contenu de chaque champ contenant ABC, une idée, on est toujours dans des requetes mysql ou l'on doit passer par php. $select = "SELECT DISTINCT mot FROM TB_mots WHERE mot LIKE 'ABC%' ";$result = mysql_query($select,$link) or die ('Erreur3 : '.mysql_error() );while($row = mysql_fetch_array($result)) { echo $row[O]; } Florent
smile Posté 25 Mai 2006 Posté 25 Mai 2006 T'as des mots qui existent en commencant par abc ? Moi je ne n'en connais pas à par des sigles ou l'alphabet, je doute que tu as ceci dans ta table
petit-ourson Posté 25 Mai 2006 Posté 25 Mai 2006 T'as des mots qui existent en commencant par abc ?Moi je ne n'en connais pas à par des sigles ou l'alphabet, je doute que tu as ceci dans ta table Un ABCDéraires ;o)
mjauneau Posté 25 Mai 2006 Posté 25 Mai 2006 abcès :-P (et "abc" entre dans le dico aussi je crois)...
smile Posté 25 Mai 2006 Posté 25 Mai 2006 Un ABCDéraires ;o) Plutôt ABCdaires Abécédaire c'est pas mal mais ca marche pas
Anonymus Posté 26 Mai 2006 Posté 26 Mai 2006 abcisse, Abcident (de la route), abcolument (quoique..). Si ce sont les mots écrits par les internautes, il faut s'attendre à tout
Lentreprenaute Posté 26 Mai 2006 Auteur Posté 26 Mai 2006 mouiais et si l'on revenait à ma derniere question!! faut arretez de vous soualer à l'abcynthe ! cherchez l'erreur ! Florent
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant