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

SQL Oracle Discussion :

Détection des quasi-doublons


Sujet :

SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Détection des quasi-doublons
    Bonjour tout le monde

    Je suis nouvelle dans ce forum et ravie de partager avec vous les idées.
    En fait, j'effectue un stage en qualité des données et je travaille avec la base de donnée Oracle. Je dois trouver des quasi-doublons dans une table.
    J'ai cherché dans ce site et j'ai trouvé la syntaxe SQL suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT DISTINCT *
    FROM T_doublons T1
    WHERE EXISTS
    (SELECT *
    FROM T_doublons T2
    WHERE T1.NUM <> T2.NUM
    AND (LOWER(T1.NOM) LIKE '%' + LOWER(T2.NOM) + '%' OR LOWER(T2.NOM) LIKE '%' + LOWER(T1.NOM)+'%')
    AND (LOWER(T1.PRENOM) LIKE '%' + LOWER(T2.PRENOM) + '%' OR LOWER(T2.PRENOM) LIKE '%' + LOWER(T1.PRENOM) + '%'));
    Le problème est que je reçois toujours ce message d'erreur :
    ORA-01722
    invalid number

    Cause: The attempted conversion of a character string to a number failed because the character string was not a valid numeric literal. Only numeric fields or character fields containing numeric data may be used in arithmetic functions or expressions. Only numeric fields may be added to or subtracted from dates.

    Action: Check the character strings in the function or expression. Check that they contain only numbers, a sign, a decimal point, and the character "E" or "e" and retry the operation.
    Je ne comprends pas pourquoi ce message d'erreur.
    La fonction lower donne la chaîne entrée en paramètre en minuscule et ne la converti pas en nombre alors que le message fait référence à une conversion de nombre.
    Je crois qu'il y a une erreur dans la syntaxe qui en est la cause, j'ai essayé de changer plusieurs fois la syntaxe mais je n'y arrive pas.

    Si quelqu'un un peut m'aider j'en serai reconnaissante
    Merci.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    L'opérateur de concaténation sous oracle est || et non + qui est du sqlserver.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    d'accord, merci beaucoup skuatamad. Je vais essayer avec cet opérateur de concaténation

  4. #4
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    La fonction SOUNDEX pourrait t'être utile pour ce type de traitement

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup. Vos réponses m'ont beaucoup servi.

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Rebonjour,
    j'ai maintenant une colonne qui comprend les éléments suivants: Onep, ONEP, ONEP,ONIP, O.N.E.P . Il s'agit du même enregistrement mais écrit de différentes manières.Une simple requête sql ne pourrait pas détecter ce genre de doublons.Ceci dit, j'ai cherché un logiciel open source plus puissant pour résoudre ce problème "Talend Open Studio for DAta quality".Je trouve que la technique de doublonnage "le matching" est très compliquée, surtout qu'il faut utiliser un 2 ème logiciel "Talend Open Studio for DAta integration".Je cherche maintenant une solution ( un logiciel) qui pourrait me faciliter la tâche.Sinon, Si quelqu'un a une idée sur une autre méthode plus simple à effectuer avec le même logiciel c'est bien aussi.
    Merci

Discussions similaires

  1. Méthode de détection des doublons
    Par elisabeta dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 05/09/2012, 15h50
  2. [AC-2003] Détection des doublons
    Par casavba dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/06/2011, 17h03
  3. Rechercher des doublons dans ACCESS(quasi doublons)
    Par ingal30 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/03/2010, 13h57
  4. Détection des doublons sans effacer
    Par drakkar_agfa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2008, 21h55
  5. Détection des disques physiques et logiques
    Par TheBigMac dans le forum Assembleur
    Réponses: 3
    Dernier message: 10/06/2004, 21h08

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