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 et SQL. Discussion :

[Like] Jointure avec like?


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut [Like] Jointure avec like?
    Bonjour tout le monde,

    Je dispose d'une BDD assez consequente et lors de la construction des tables de travails je dois faire plusieurs jointure.

    Dans certains cas les clef primaire sont erronées ( huhu ) et je ne trouve pas les correspondances dans les tables a joindre.

    Etant donné que c'est une application assez critique, pour limiter au maximun le nombre de tuple qui disposeront d'informations non exhaustive ( du fait qu'on a pas pu joindre avec les autres tables ) j'avais dans l'idée de faire une seconde couche, ou je joins sur les champs "Noms" ( ouais ca vaut ce que ca vaut ) via un like ( car dans si d'un coté j'ai "Mairie de Toto" et que de l'autre j'ai "Toto cedex" il faudrait pouvoir joindre)

    Voici donc le code d'un des essai d'une requete de jointure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT [Table1].Ref, [Table1].Nom_Treso, [Table2].[Nom trésorerie], Table2.Email
    FROM [Table1], [Table2]
    WHERE [Table1].Nom_Treso like [Table2].[Nom Trésorerie];
    Bien evidement cette requete ne me renvoi aucun tuple.
    Auriez vous des idées?

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    via un like ( car dans si d'un coté j'ai "Mairie de Toto" et que de l'autre j'ai "Toto cedex" il faudrait pouvoir joindre)
    Je ne pense pas que LIKE soit à ce point performant. C'est vraiment de l'intelligence artificielle qu'il te faut là ... Mettre un place un système permettant de détecter une partie de la chaîne succeptible de se retrouver dans d'autres et que tu veux joindre etc.

    J'espère être clair.

  3. #3
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    Oui parfaitement clair.

    Cependant j'ai peut etre mal presenter l'exemple.
    Admettons que sur ma table1 le champ nom soit : "Mairie de Montreal"
    Dans la table 2 le champ nom serait : "Montreal"

    Le champ nom de la table 2 est codifié "nom" mais il ressemble plutot a la ville.

    Partant de ce postulat un simple like est il implementable ( et question sous jacente qui m'interesse particulierement ) et comment ecrire la requete?

  4. #4
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Admettons que sur ma table1 le champ nom soit : "Mairie de Montreal"
    Dans la table 2 le champ nom serait : "Montreal"
    En partant de cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE table1.nom LIKE "'*" & table2.nom & "*'"
    Bon je te passe ce code sans tester, peut-être que c'est absolument faux, mais ça vaut le coup de tenter.

  5. #5
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    Merci, j'avais commencé à partir dans ce sens la ( module vb et pas une simple requete faite avec access)

    Je verrai bien ou j'arrive

  6. #6
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    A tout hasard, as-tu regardé du coté de soundex... http://sqlpro.developpez.com/cours/soundex/


    mais bon... ton objectif semble un peu utopique...

    Bon courage

  7. #7
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    Ici les besoins ont des priorités qui varient de jour en jour, et manifestement ce module n'est plus si important
    Il est mis de coté jusqu'a la fin du mois.
    Mais j'ai quelques idées pour le mener à bien, je vous tiendrai au courant.

    Merci pour vos reponses ( et merci pour le lien sur les soundex, tres interessant !)

Discussions similaires

  1. Problème jointure avec LIKE CONCAT
    Par idate dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/06/2014, 17h58
  2. Réponses: 6
    Dernier message: 16/02/2011, 10h04
  3. Jointure avec like ou contains
    Par olibara dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/09/2010, 07h34
  4. Jointure avec like et '%'
    Par derfatypik dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/05/2006, 17h12
  5. Recherche d'un mot avec LIKE sur plusieurs champs
    Par reynhart dans le forum Langage SQL
    Réponses: 16
    Dernier message: 26/11/2004, 17h41

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