Comment faire un INNER JOIN ou l'on ne cherche pas une concordance parfaite
entre les deux champs utilisés mais où une concordance partielle est
suffisante ?
INNER JOIN [T_GOU_Titre] ON [T_SBF_250].Nom = [T_GOU_Titre].Titre
ORDER BY [T_GOU_Titre].Titre;
Dans cet exemple, seuls les enregistrements où le champ « [T_SBF_250].Nom »
est rigoureusement identique au champ « [T_GOU_Titre].Titre » sont
sélectionnés. Or, ce qui m'intéresse, c'est de selectionner tous les
enregistrements pour lesquels il y a au minimum trois lettres consecutives
qui sont identiques.
INNER JOIN [T_GOU_Titre] ON [T_SBF_250].Nom = [T_GOU_Titre].Titre
ORDER BY [T_GOU_Titre].Titre;
Dans cet exemple, seuls les enregistrements où le champ « [T_SBF_250].Nom »
est rigoureusement identique au champ « [T_GOU_Titre].Titre » sont sélectionnés. Or, ce qui m'intéresse, c'est de selectionner tous les enregistrements pour lesquels il y a au minimum trois lettres consecutives qui sont identiques.
Merci à toutes et tous
Philippe Dhondt
Merci pour ces premières pistes que je vais tester.
« Sacré problème », hélas ...
Je vais essayer de le reformuler
Je dois mettre à jour les données d'une table A avec celles d'une table B
Les 2 tables contiennent un même champ (texte) « Titre »
C'est ce champ qui sert de cle commune aux données des deux tables
Le problème est que l'ortographe du contenu de ce champ est très souvent
(80%) différent : problème d'accent, de ponctuation ...
Si quelqu'un a une autre idée.....
"Philippe Dhondt" <philippe.dhondt@tele2.be> wrote in message
news:KMZbf.226$Hm.321@nntpserver.swip.net...
Bonjour
Comment faire un INNER JOIN ou l'on ne cherche pas une concordance
parfaite
entre les deux champs utilisés mais où une concordance partielle est
suffisante ?
INNER JOIN [T_GOU_Titre] ON [T_SBF_250].Nom = [T_GOU_Titre].Titre
ORDER BY [T_GOU_Titre].Titre;
Dans cet exemple, seuls les enregistrements où le champ «
[T_SBF_250].Nom »
est rigoureusement identique au champ « [T_GOU_Titre].Titre » sont
sélectionnés. Or, ce qui m'intéresse, c'est de selectionner tous les
enregistrements pour lesquels il y a au minimum trois lettres consecutives
qui sont identiques.
INNER JOIN [T_GOU_Titre] ON [T_SBF_250].Nom = [T_GOU_Titre].Titre
ORDER BY [T_GOU_Titre].Titre;
Dans cet exemple, seuls les enregistrements où le champ « [T_SBF_250].Nom »
est rigoureusement identique au champ « [T_GOU_Titre].Titre » sont sélectionnés. Or, ce qui m'intéresse, c'est de selectionner tous les enregistrements pour lesquels il y a au minimum trois lettres consecutives qui sont identiques.
Merci à toutes et tous
Philippe Dhondt
Fred BROUARD
En SQL Normatif cela donne :
SELECT S.Code, S.Nom, G.Titre, G.Yahoo FROM T_SBF_250 AS S INNER JOIN T_GOU_Titre AS G ON S.Nom LIKE SUBSTRING(G.Titre FROM 1 FOR 3) +'%' ORDER BY G.Titre
Avec le pseudo SQL d'acces cela devrait donner :
SELECT S.Code, S.Nom, G.Titre, G.Yahoo FROM T_SBF_250 AS S INNER JOIN T_GOU_Titre AS G ON S.Nom LIKE SUBSTRING(G.Titre, 1, 3) +'*' ORDER BY G.Titre
A +
Philippe Dhondt a écrit:
Bonjour
Comment faire un INNER JOIN ou l'on ne cherche pas une concordance parfaite entre les deux champs utilisés mais où une concordance partielle est suffisante ?
INNER JOIN [T_GOU_Titre] ON [T_SBF_250].Nom = [T_GOU_Titre].Titre
ORDER BY [T_GOU_Titre].Titre;
Dans cet exemple, seuls les enregistrements où le champ « [T_SBF_250].Nom » est rigoureusement identique au champ « [T_GOU_Titre].Titre » sont sélectionnés. Or, ce qui m'intéresse, c'est de selectionner tous les enregistrements pour lesquels il y a au minimum trois lettres consecutives qui sont identiques.
Merci à toutes et tous
Philippe Dhondt
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
En SQL Normatif cela donne :
SELECT S.Code, S.Nom, G.Titre, G.Yahoo
FROM T_SBF_250 AS S
INNER JOIN T_GOU_Titre AS G
ON S.Nom LIKE SUBSTRING(G.Titre FROM 1 FOR 3) +'%'
ORDER BY G.Titre
Avec le pseudo SQL d'acces cela devrait donner :
SELECT S.Code, S.Nom, G.Titre, G.Yahoo
FROM T_SBF_250 AS S
INNER JOIN T_GOU_Titre AS G
ON S.Nom LIKE SUBSTRING(G.Titre, 1, 3) +'*'
ORDER BY G.Titre
A +
Philippe Dhondt a écrit:
Bonjour
Comment faire un INNER JOIN ou l'on ne cherche pas une concordance parfaite
entre les deux champs utilisés mais où une concordance partielle est
suffisante ?
INNER JOIN [T_GOU_Titre] ON [T_SBF_250].Nom = [T_GOU_Titre].Titre
ORDER BY [T_GOU_Titre].Titre;
Dans cet exemple, seuls les enregistrements où le champ « [T_SBF_250].Nom »
est rigoureusement identique au champ « [T_GOU_Titre].Titre » sont
sélectionnés. Or, ce qui m'intéresse, c'est de selectionner tous les
enregistrements pour lesquels il y a au minimum trois lettres consecutives
qui sont identiques.
Merci à toutes et tous
Philippe Dhondt
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
SELECT S.Code, S.Nom, G.Titre, G.Yahoo FROM T_SBF_250 AS S INNER JOIN T_GOU_Titre AS G ON S.Nom LIKE SUBSTRING(G.Titre FROM 1 FOR 3) +'%' ORDER BY G.Titre
Avec le pseudo SQL d'acces cela devrait donner :
SELECT S.Code, S.Nom, G.Titre, G.Yahoo FROM T_SBF_250 AS S INNER JOIN T_GOU_Titre AS G ON S.Nom LIKE SUBSTRING(G.Titre, 1, 3) +'*' ORDER BY G.Titre
A +
Philippe Dhondt a écrit:
Bonjour
Comment faire un INNER JOIN ou l'on ne cherche pas une concordance parfaite entre les deux champs utilisés mais où une concordance partielle est suffisante ?
INNER JOIN [T_GOU_Titre] ON [T_SBF_250].Nom = [T_GOU_Titre].Titre
ORDER BY [T_GOU_Titre].Titre;
Dans cet exemple, seuls les enregistrements où le champ « [T_SBF_250].Nom » est rigoureusement identique au champ « [T_GOU_Titre].Titre » sont sélectionnés. Or, ce qui m'intéresse, c'est de selectionner tous les enregistrements pour lesquels il y a au minimum trois lettres consecutives qui sont identiques.
Merci à toutes et tous
Philippe Dhondt
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************