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 :

nettoyer les données recherchées [Fait]


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut nettoyer les données recherchées
    Bonsoir,

    J'ai un petit problème qui m'embête.

    j'ai dans mes tables un champs référence avec plein de truc tout bizarre, du genre:

    462.471.0
    M48B63-4231/000

    le problème c'est qu'aucune référence n'est similaire (fournisseurs différents)

    J'ai un champs recherche qui doit permettre de rechercher selon ces références.
    J'ai eu l'idée de supprimer tout les . - / etc de la recherche afin de pouvoir trouver toutes les référence même si la personne a oublier un point ou autre.

    ma question:

    est il possible lors d'une requête de supprimer des champs rechercher les . / - etc
    Ou plus clairement, comment avec 'M48B634231000' retrouver 'M48B63-4231/000' en une seule requête.

    j'espère avoir été clair.
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'M48B634231000' = REPLACE(REPLACE('M48B63-4231/000', '.', ''), '/', '')
    Evidemment, il peut être intéressant de créer une fonction perso qui fait tous les REPLACE.

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Dangereux comme pratique !
    Imagine que tu aies deux produits :
    - Référence 1234/5678
    - Référence 12345678

    Tu appliques ton système et tu te retrouves avec deux produits différents ayant la même référence !

    A voir ensuite si c'est gênant pour ton logiciel qui utilise la BDD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    Merci mais je pense ne pas avoir été assez clair ^^

    M48B63-4231/000 donnée stockée dans la BDD
    M48B634231000 donnée tapée par le client.

    je veux avec une requête de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = select * from reference where ref = "M48B634231000"
    qu'il me trouve M48B63-4231/000

    et CinePhil les référence sont normalement uniques ^^ et si elles ne le sont pas le traitement est trop énorme.

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM reference 
    WHERE REPLACE(REPLACE(ref, '.', ''), '/', '') = 'M48B634231000'

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    a oups merci ^^ je vais tester cela

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

Discussions similaires

  1. Nettoyer les données JSON retournées par le server ?
    Par informer dans le forum jQuery
    Réponses: 2
    Dernier message: 26/06/2014, 18h59
  2. Afficher les données rechercher via userform
    Par nora2603 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/07/2011, 00h50
  3. Réponses: 1
    Dernier message: 11/01/2008, 04h57
  4. améliorer les données d'un moteur de recherche
    Par lachourave dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2008, 11h07
  5. Récupérer les données après une recherche
    Par cdumas dans le forum Access
    Réponses: 7
    Dernier message: 04/05/2006, 12h09

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