Bonjour,

JE souhaite utiliser dans ma requête le LIKE pour me permettre de comparer 2 types de données. c'est à dire que j'ai une liste de terme et les titres correspondant au docID. Mon problème est que je n'ai pas de chaine de caractere fixe. Je m'explique.

Voici un exemple de ce que ma requête affiche :

NAME -> TITRE
aa -> la gloire de mon père
bb -> le bb arrive
cc -> Théo
dd -> c'est dd !

Je ne veux afficher que les lignes dont le name est compris dans le titre soit que la ligne de bb et dd.

Le problème est que j'ai des milliers de termes.

Voici ma requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT
d.identifier as doc_identifier, father.entityName as type_name, e.entityName as name, count(pe.idPositionedElement) as freq, se.occurrence_cnt as corpus_freq,
substring(t.content, z.startPosition + 1, z.endPosition - z.startPosition) as titre
FROM luxiddata_rtf.positionedelement pe
join luxiddata_rtf.entity e on e.uidEntity = pe.uidEntity
join luxiddata_rtf.stat_entity se on se.uidEntity = e.uidEntity
join luxiddata_rtf.knowledgeset ks on ks.knowledgeset = pe.idKnowledgeset
join luxiddata_rtf.document d on d.idDocument = ks.idDocument
join luxiddata_rtf.text t on t.idText = d.idText
join luxiddata_rtf.zone z on z.idDocument = d.idDocument
join luxiddata_rtf.zonename zn on zn.id = z.idZoneName
join luxiddata_rtf.entityhierarchy eh on eh.uidEntity = e.uidEntity and eh.depth = 1
join luxiddata_rtf.entity father on eh.idParentEntity = father.uidEntity
where (zn.name = 'title' and father.entityName ='Terms' and substring(t.content, z.startPosition + 1, z.endPosition - z.startPosition) Like '%Pearl Harbor%')
group by d.identifier, e.uidEntity, e.entityName
order by doc_identifier
J'ai donc testé le like ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
where (zn.name = 'title' and father.entityName ='Terms' and substring(t.content, z.startPosition + 1, z.endPosition - z.startPosition) Like '%Pearl Harbor%')
Mais ici je lui dis : affiche les titres qui contiennent 'Pearl Harbor'.

moi je veux lui dire affiche les titres qui contiennent le name de la ligne.

J'ai essayé aussi avec contains(titre,name) mais ça ne me remonte aucun résultat et je suis sure d'en avoir au moins 1

C'est clair ?

Merci de votre aide ...