Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de requête

2 réponses
Avatar
gauso
Bonjour,
Avis aux amateurs de "prise de t=EAte", accrochez-vous :
Soit une table0 (table "Fonds") : lien 1 =E0 n avec Table1
Une table1 (table "Projets") : lien 1 =E0 n avec table2 (table "Roles")
Table2 =E9tant reli=E9e =E0 une table3 (table "Protagonistes") avec lien 1 =
=E0
n de Table3 =E0 Table2

En langage plus explicite : nous avons des fonds d'archives que l'on
classe par Projets et nous "indexons" des protagonistes, intervenants
dans ces "projets", via cette table "R=F4les" qui va chercher ses
r=E9f=E9rences dans un fichier g=E9n=E9ral de "Protagonistes".

Dans ce fichier g=E9n=E9ral (Table3 "Protagonistes"), nous =E9tablissons de=
s
"renvois" : de certaines formes d'=E9criture, vers d'autres... Par
exemple : "SNCF. Utiliser : Soci=E9t=E9 nationale des chemins de fer"

Chaque enregistrement est "caract=E9ris=E9" : il est donc pr=E9cis=E9 quand=
il
s'agit d'un "renvoi" (valeur : 5)
Les "renvois", par d=E9finition, ne sont pas utilis=E9s =E0 l'indexation :
il s'agit seulement d'indiquer aux "indexeurs" qu'ils ne doivent pas
utiliser telle forme, mais celle qui leur est indiqu=E9.
Par ailleurs un lien est fait entre l'enregistrement de type "renvoi"
vers l'enregistrement dont la forme a =E9t=E9 retenue : la r=E9f=E9rence de
l'enregistrement "valable" est enregistr=E9e directement dans un des
champs de l'enregistrement (champ "TermeUtilise")

Si vous avez tout compris jusqu'ici, vous comprendrez ce qui va
suivre, sinon...
La recherche dans le fichier Protagonistes ne pose pas de probl=E8me
puisque... full-texte
Mais on aimerait pouvoir sortir des index protagonistes par "Fonds"
qui int=E8grent les dits "renvois" et l=E0 =E9videmment cela pose probl=E8m=
e
puisqu'ils ne sont pas directement li=E9s au "Fonds"...
D'apr=E8s vous est-il possible de cr=E9er une requ=EAte qui les ram=E8ne
malgr=E9 tout, =E9tant donn=E9 qu'existe quand m=EAme des liens (indiqu=E9s=
ci-
dessus : par enregistrement de la r=E9f=E9rence du protagoniste index=E9...=
)
entre les "renvois" et les protagonistes retenus comme ayant une forme
valable, donc effectivement index=E9s ?
Pour l'instant, je n'y parviens pas !
A tout hasard, cette bouteille... et sans trop d'illusions =E9tant donn=E9
la complexit=E9 de l'expos=E9 ;o)

2 réponses

Avatar
Michel_D
Bonjour,

Si j'ai bien compris en 2 requêtes :

La première requête qui ne renvoie que les enregistrements
(champ de liaison avec table1[Projets]) de la table2 [Roles]
complété des valeurs correspondantes de la table3.

Requête nommée [ReqRenvoi] :
SELECT T2.ChampLien, T3.*
FROM Roles AS T2 INNER JOIN Protagonistes AS T3
ON T2.ChampLien=T3.ChampLien
WHERE T3.ChampRenvoi=5;

Et la requête finale :

SELECT T0.LeChampFonds, T2.*
FROM ReqRenvoi AS T2
INNER JOIN (Projets AS T1 INNER JOIN Fonds AS T0
ON T1.ChampLien=T0.ChampLien)
ON T2.ChampLien=T1.ChampLien
ORDER BY T0.LeChampFonds;


"gauso" a écrit dans le message de
news:
Bonjour,
Avis aux amateurs de "prise de tête", accrochez-vous :
Soit une table0 (table "Fonds") : lien 1 à n avec Table1
Une table1 (table "Projets") : lien 1 à n avec table2 (table "Roles")
Table2 étant reliée à une table3 (table "Protagonistes") avec lien 1 à
n de Table3 à Table2

En langage plus explicite : nous avons des fonds d'archives que l'on
classe par Projets et nous "indexons" des protagonistes, intervenants
dans ces "projets", via cette table "Rôles" qui va chercher ses
références dans un fichier général de "Protagonistes".

Dans ce fichier général (Table3 "Protagonistes"), nous établissons des
"renvois" : de certaines formes d'écriture, vers d'autres... Par
exemple : "SNCF. Utiliser : Société nationale des chemins de fer"

Chaque enregistrement est "caractérisé" : il est donc précisé quand il
s'agit d'un "renvoi" (valeur : 5)
Les "renvois", par définition, ne sont pas utilisés à l'indexation :
il s'agit seulement d'indiquer aux "indexeurs" qu'ils ne doivent pas
utiliser telle forme, mais celle qui leur est indiqué.
Par ailleurs un lien est fait entre l'enregistrement de type "renvoi"
vers l'enregistrement dont la forme a été retenue : la référence de
l'enregistrement "valable" est enregistrée directement dans un des
champs de l'enregistrement (champ "TermeUtilise")

Si vous avez tout compris jusqu'ici, vous comprendrez ce qui va
suivre, sinon...
La recherche dans le fichier Protagonistes ne pose pas de problème
puisque... full-texte
Mais on aimerait pouvoir sortir des index protagonistes par "Fonds"
qui intègrent les dits "renvois" et là évidemment cela pose problème
puisqu'ils ne sont pas directement liés au "Fonds"...
D'après vous est-il possible de créer une requête qui les ramène
malgré tout, étant donné qu'existe quand même des liens (indiqués ci-
dessus : par enregistrement de la référence du protagoniste indexé...)
entre les "renvois" et les protagonistes retenus comme ayant une forme
valable, donc effectivement indexés ?
Pour l'instant, je n'y parviens pas !
A tout hasard, cette bouteille... et sans trop d'illusions étant donné
la complexité de l'exposé ;o)
Avatar
gauso
Bon, j'avais fais une réponse à ce message et qui n'en fini pas de ne
pas être publié !?
Donc, je recommence..
En bref, je remerciais d'abord Michel... lui disait que ce qu'il
m'avait indiqué n'était pas tout à fait ça, mais m'avait mis sur la
voie, et avait bien contribué à ce que finalement je m'en sorte... en
fait 3 requêtes étaient nécessaires...
Bon week-end,
Sonia.