PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 26/04/2017 10:36:27

databaser
Membre

jointure sur des colonnes textuelles

Bonjour,


J'ai besoin d'utiliser des colonnes textuelles comme clé de jointure.

Je m'explique : il n'y a pas de colonne ID de type Code département ou CP ou etc. J'ai deux colonnes dans deux tables qui contiennent du texte. Exemple : "Le Boucher du Coin" dans l'une et dans l'autre "Le Boucher" ou "Boucher du Coin"... Bref, il y a des différences de mots.

Sauriez-vous quelle démarche il faut adopter, svp ?

J'ai pensé à construire du SQL qui rassemble d'abord les éléments par commune, ce qui fait un 1er tri. Ensuite, de diviser chaque colonnes en autant de colonnes que de mots qu'elles contiennent. Puis de comparer ces deux panoplies de colonnes entre elles. Mais je ne pense que ce soit la bonne démarche.
Merci...

Hors ligne

#2 26/04/2017 11:19:11

rjuju
Administrateur

Re : jointure sur des colonnes textuelles

Personnellement, je commencerai par nettoyer les données pour ne plus avoir le problème, ou ajouter une clé technique si cela n'est pas possible.

Hors ligne

#3 26/04/2017 12:12:39

databaser
Membre

Re : jointure sur des colonnes textuelles

une clé technique qu'est-ce ?
nettoyer c'est-à-dire supprimer les articles, déterminants, pronoms, etc. ??
je n'ai pas du être assez claire dans mon message : en fait, je dois comparer les deux colonnes pour rassembler les lignes qui se correspondent, c'est une jointure.

Hors ligne

#4 26/04/2017 12:17:53

rjuju
Administrateur

Re : jointure sur des colonnes textuelles

databaser a écrit :

une clé technique qu'est-ce ?

Une colonne type integer ou bigint où vous identifiez clairement la ligne dans chacune des tables, pour dire que ça « boucher du coin » et « le boucher » valent « 1 » par exemple.

nettoyer c'est-à-dire supprimer les articles, déterminants, pronoms, etc. ??

Oui, ou faire en sorte que les contenus soient identiques (même colonne ou nouvelle colonne) afin de faire une simple jointure sur l'opérateur d'égalité.

je n'ai pas du être assez claire dans mon message : en fait, je dois comparer les deux colonnes pour rassembler les lignes qui se correspondent, c'est une jointure.

J'ai bien compris, mais les résultats risquent d'être largement erronnés, du coup je n'ai pas de solution magique à proposer.

Hors ligne

#5 26/04/2017 12:23:56

databaser
Membre

Re : jointure sur des colonnes textuelles

ok je vais voir cela merci.

Hors ligne

Pied de page des forums