[SQL] [champ 1] LIKE [champ 2]% ?
Laaris
Messages postés
131
Statut
Membre
-
angel lestat Messages postés 256 Statut Membre -
angel lestat Messages postés 256 Statut Membre -
Bonjour,
Je voudrais savoir si on peut utiliser le comparateur LIKE entre deux champs.
Dans mon cas précis j'ai des noms de plantes du style "Agrostis truncatula Parl. subsp. commista"
Dans une de mes tables, un attribut contient ce genre de noms. Dans une autre, un attribut contient également des noms de plantes mais pas forcément complets, exemple: "Agrostis truncatula Parl." Pourtant je veux considérer que ces deux plantes sont les mêmes.
Encore pire, dans certains cas, dans le même attribut on trouve le nom de la plante et le nom de la personne qui l'a décrit la première fois, exemple: "Agrostis truncatula Parl. subsp. commista Castroviejo & Charpin" (je sais c'est mal foutu mais je peux pas faire autrement).
Bref je voudrais pouvoir comparer mes champs de façon à pouvoir associer ces différents noms qui indiquent en fait une seule plante.
J'ai essayé quelque chose comme ça:
Mais ça ne fonctionne pas.
Si ce n'est pas avec LIKE, comment peut-on comparer le contenu de deux champs qui se ressemblent?
Merci d'avance
Je voudrais savoir si on peut utiliser le comparateur LIKE entre deux champs.
Dans mon cas précis j'ai des noms de plantes du style "Agrostis truncatula Parl. subsp. commista"
Dans une de mes tables, un attribut contient ce genre de noms. Dans une autre, un attribut contient également des noms de plantes mais pas forcément complets, exemple: "Agrostis truncatula Parl." Pourtant je veux considérer que ces deux plantes sont les mêmes.
Encore pire, dans certains cas, dans le même attribut on trouve le nom de la plante et le nom de la personne qui l'a décrit la première fois, exemple: "Agrostis truncatula Parl. subsp. commista Castroviejo & Charpin" (je sais c'est mal foutu mais je peux pas faire autrement).
Bref je voudrais pouvoir comparer mes champs de façon à pouvoir associer ces différents noms qui indiquent en fait une seule plante.
J'ai essayé quelque chose comme ça:
SELECT [Table 1].[Nom Taxon] FROM [Table 1],[Table 2] WHERE [Table 1].[Nom Taxon] LIKE [Table 2].[Nom Taxon]%;
Mais ça ne fonctionne pas.
Si ce n'est pas avec LIKE, comment peut-on comparer le contenu de deux champs qui se ressemblent?
Merci d'avance
A voir également:
- Like _ sql
- Voir like instagram - Guide
- Coco-like - Accueil - Réseaux sociaux
- Logiciel sql - Télécharger - Bases de données
- Wawacity like - Accueil - Outils
- Requête sql pix - Forum Python
2 réponses
Après réflexion je pense que c'est normal que ma requête ci-dessus ne marche pas.
J'ai donc essayé autre chose:
Mais ça ne marche pas non plus :'-(
Quelqu'un a-t-il une idée?
J'ai donc essayé autre chose:
SELECT [Table 1].[Nom Taxon] AS name FROM [Table 1] WHERE EXISTS (SELECT [Table 2][Nom Taxon] FROM [Table 2] WHERE name LIKE [Table 2].[Nom Taxon]*);
Mais ça ne marche pas non plus :'-(
Quelqu'un a-t-il une idée?
Je pense que depuis tu as dû trouver une solution, mais au cas zou, tu peux essayer cela :
SELECT [Table 1].[Nom Taxon]
FROM [Table 1],[Table 2]
WHERE [Table 1].[Nom Taxon] LIKE '%'&[Table 2].[Nom Taxon]&'%';
Voili, voilou
@ pluche
SELECT [Table 1].[Nom Taxon]
FROM [Table 1] inner join[Table 2]
on [Table 1].[Nom Taxon] LIKE concat('%',[Table 2].[Nom Taxon],'%');