Bonjour,
je crée une vue qui porte sur les tables suivantes
Mais lorsque j'essaie de créer un index dessus, j'obtiens le message suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FROM dbo.CLIENT AS CL INNER JOIN dbo.UCLIENT AS CLU ON CL.CLKTSOC = CLU.CLKTSOC AND CL.CLKTCODE = CLU.CLKTCODE INNER JOIN dbo.PARAM AS PARAM ON CL.CLKTSOC = PARAM.PAKTSOC AND PARAM.PAKTNOPAR = '250' AND CL.CLCTACTIVI = PARAM.PAKTCODE INNER JOIN dbo.REPRESEN AS REP1 ON CL.CLKTSOC = REP1.REKTSOC AND CL.CLCTREP1 = REP1.REKTCODE INNER JOIN dbo.REPRESEN AS REP2 ON CL.CLKTSOC = REP2.REKTSOC AND CL.CLCTREP2 = REP2.REKTCODE
J'ai absolument besoin de conserver mes deux références à la table "REPRESEN". Je pressens qu'il est possible de "saucissonner" les jointures en utilisant les parenthèses mais je n'y arrive pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Msg*1947, Niveau*16, État*1, Ligne*3 Impossible de créer index sur la vue "ARCE.dbo.V1L_PROSPECTS_01" car celle-ci contient une jointure réflexive sur "ARCE.dbo.REPRESEN".
Est-ce en effet possible ? Il y a-t-il une autre manière de faire ?
D'autant que je risque d'être obligé de faire plusieurs autres appels à la table "PARAM"...
D'avance, merci pour vos lumières.
Partager