Libreoffice BASE LIKE

Fermé
gilles - 10 févr. 2021 à 10:57
jee pee Messages postés 41135 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 avril 2025 - 10 févr. 2021 à 17:02
Bonjour,

Dans table1 j'ai enregistré chou
Dans table2 j'ai enregistré chou de Bruxelles, chou brocolis et farine
La vue SELECT "Table1"."nom1", "Table2"."nom2" FROM "Table1", "Table2" WHERE "Table2"."nom2" LIKE 'chou%' affiche les 2 lignes de table2 dans lesquelles se trouve 'chou'
Je cherche en vain comment écrire une requête qui me permette d'afficher les lignes de table2 dans lesquelles se trouve le contenu de table1 ?
Merci pour votre aide.

Configuration: Linux / Firefox 85.0
A voir également:

3 réponses

jee pee Messages postés 41135 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 avril 2025 9 589
10 févr. 2021 à 12:17
Bonjour,

Dans ce cas tu fais un select sur la vue non ? Ou alors ton explication n'est pas claire.
0
Bonjour
Merci pour ta réponse rapide.
Dans la table 1 j'ai un enregistrement avec brocolis et un autre avec t65
dans la table 2 j'ai des choux brocolis, des choux verts, des lisses, des rouges,.. et des farine t65, farine t110,...
Je voudrais afficher tous les articles de la table2 contenant ce qui est dans ma table1
Je veux voir 2 enregistrements : le chou brocolis et la farine t65
J'espère que c'est plus clair.
0
jee pee Messages postés 41135 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 avril 2025 9 589
Modifié le 10 févr. 2021 à 17:21
Compris. D'abord au niveau du like
LIKE 'chou%' 
ne cherche chou qu'en début de chaine, pour le trouver n'importe où dans la chaine il faudrait
LIKE '%chou%' 
.

Après pour utiliser un champ, il va falloir constituer une chaine comportant le champ encadré par les % : %+Table1.nom1+%

Je ne connais pas la syntaxe sur Libreoffice BASE

Soit il existe une fonction style CONCAT() qui agrège des chaines, on aurait alors
LIKE CONCAT('%',Table1.nom1,'%')

soit on utilise || , & ou encore +, pour agréger les chaines
LIKE '%' || Table1.nom1 || '%'
LIKE '%' & Table1.nom1 & '%'
LIKE '%' + Table1.nom1 + '%'


0

Discussions similaires