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

MySQL Discussion :

Recherche de type "INVERSEE"


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut Recherche de type "INVERSEE"
    Bonjour,

    je ne sais pas si le terme de "recherche inversée" est le bon terme.

    j'ai une variable du type $string= "le chien est noir"

    j'ai une table "regle"

    reg_id = 1
    reg_critere = "noir"

    reg_id = 2
    reg_critere = "chien"


    Comment puis je construire une requête du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(reg_id) FROM regle WHERE 1 AND $string CONTIENT 'reg_critere'
    En vous remerciant par avance,

    (je m'arrache les cheveux depuis des heures ...)

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 644
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    L'exemple que vous communiquez n'est pas clair pour moi, quel rapport avec une recherche inversée ?
    Vous devriez communiquer un exemple de jeu de données en entrée et de résultat(s) attendu(s) en sortie.

    Vu que vous proposez une requete de comptage, faut il comprendre que
    avec
    - $string= "le chien est noir"
    - reg_id = 1, reg_critere = "noir"
    - reg_id = 2, reg_critere = "chien"
    Vouz attendez le résultat 2 ?

    Mais en ce cas, quel résultat attendez vous avec ("chien" contenu dans "chienne" mais ce n'est pas la valeur exacte)
    - $string= "le chien est noir"
    - reg_id = 1, reg_critere = "noir"
    - reg_id = 2, reg_critere = "chienne"

    Et qu'attendez vous avec
    - $string= "la chienne est noire"
    - reg_id = 1, reg_critere = "noir"
    - reg_id = 2, reg_critere = "chien"

    Ou encore avec
    - $string= "le chien est noir, tout noir"
    - reg_id = 1, reg_critere = "noir"
    - reg_id = 2, reg_critere = "chien"
    2, 3, autre ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    Merci d'avoir pris le temps de répondre

    Dans tous les cas j'attends comme réponse 2

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    En fait , je cherche simplement à savoir si dans ma chaine il y a un des critères de ma table règle car à ce moment là j'éxécute une action particulière.

    Concrètement j'ai en entrée un relevé de compte en csv.
    je parcours chaque enregistrement et en analysant le champ libellé de ce listing csv, je voudrais comparer à une liste de critères pour pouvoir imputer cette ligne à un poste. Ex.: si le libellé contient "Electrecite De France" imputer la ligne au poste "EDF".

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 644
    Billets dans le blog
    10
    Par défaut
    Dans ce cas, Est-ce que ceci convient ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select count(reg_id)
    from ma_table
    where locate(reg_critere, 'le chien est noir') > 0

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 644
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par ZeBandit Voir le message
    En fait , je cherche simplement à savoir si dans ma chaine il y a un des critères de ma table règle car à ce moment là j'éxécute une action particulière.

    Concrètement j'ai en entrée un relevé de compte en csv.
    je parcours chaque enregistrement et en analysant le champ libellé de ce listing csv, je voudrais comparer à une liste de critères pour pouvoir imputer cette ligne à un poste. Ex.: si le libellé contient "Electrecite De France" imputer la ligne au poste "EDF".
    Il vaudrait mieux avoir un critère de jointure fiable, déduire un code depuis un libellé est dangereux, surtout si votre source de données est un fichier, peut être saisi à la main sans contrôle !
    Qu'est ce qui vous garantit que vous n'aurez pas les mêmes raisons sociales avec des combinaisons d'accent majuscule et autre caractères diacritiques légèrement différents selon les lignes du fichier

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    les données viennent d'une banque (relevé de compte). Elles sont donc déja bien formattées.

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