IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Demande d'aide pour une requête de type recherche


Sujet :

Requêtes MySQL

  1. #1
    DG
    DG est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Demande d'aide pour une requête de type recherche
    Bonjour,

    J'essaye de faire une requête où l'utilisateur spécifie une chaine de caractères ASCII et la requête retourne le nombre d'entrées corréspondant total dans la base. Si j'effectue la recherche que sur le champ "nom du groupe", ça marche :

    "SELECT COUNT(*) FROM tbl_groups WHERE vc_groupname LIKE 'Paris%'"

    Par contre, je me rends compte que l'utilisateur confond le vrai nom du groupe avec le nom de la ville et même le nom d'un article qui appartient à ce groupe (et qui est dans une autre table "esclave", "tbl_items" liée à "tbl_groups" par un clé étrangère).

    Donc, je veux chercher la chaine de caractères spécifiée dans un total de 3 champs sur 2 tables, mais sans retourner de doublons si par hasard le nom du groupe = nom de ville = nom d'article.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                tbl_groups                              tbl_items
    vc_groupname             vc_cityname                vc_itemname
     
    ParisI                   Paris                      Monarticle
    GroupA                   Paris                      Paris_article
    Grand                    Lyon                       2eme_article
    Petit                    Lyon                       Paris_article
    Si l'utilisateur spécifie "Paris%" comme recherche, il devrait trouver 3 entrées (et non pas 1 ou 5).

    Puis-je faire une seule requête? Ou dois-je faire 2 ou 3 requêtes et ensuite trouver une astuce pour éliminer les doublons basé sur les indexes des 2 tables ? Si une seule requête, comment le rédiger ?

    Merci pour toute aide.

    David.
    (MySQL 4.1)

  2. #2
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    Essaye avec un truc comme ca (sans garanties ).

    Ou avec un SELECT DISTINCT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SELECT count(*) 
     
    FROM
        tbl_groups ,tbl_items
    WHERE 
        jointure
        AND (
            vc_groupname LIKE 'Paris%'
            OR
            vc_cityname LIKE 'Paris%'
            OR
            vc_itemname LIKE 'Paris%'
        )
    GROUP BY vc_groupname,vc_cityname,vc_itemname
    Two beer or not two beer. (Shakesbeer)
    Question technique par MP => poubelle!

  3. #3
    DG
    DG est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci pour le code.

    Bon, j'ai compris le "jointure" (je n'avais pas pris mon café ce matin) et j'ai lié les deux tables (id et foreign_id). Sur ma base de test, ça me donne '1' alors que j'attendais à '3'. Je vais fouiller un peu.

    Merci encore.


    David
    (MySQL 4.1).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Demande d'aide pour une requête avec jointure
    Par marcoxavier dans le forum Développement
    Réponses: 8
    Dernier message: 26/05/2015, 16h04
  2. Demande d'aide pour une requête
    Par jmclej dans le forum SQL
    Réponses: 6
    Dernier message: 17/11/2014, 10h53
  3. Demande d'aide pour une requête
    Par coqrya dans le forum SQL
    Réponses: 12
    Dernier message: 09/04/2013, 15h02
  4. Humble demande d'aide pour une requête multi tables
    Par JayWBurn dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/06/2010, 15h27
  5. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo