J'ai le schéma de table suivant dans SQL Server 2005 et je voudrais le dénormaliser dans une vue indexée pour certaines requêtes que j'écris jusqu'à ce que je puisse rendre les changements structurels permanents.simuler une union pour créer une vue indexée
Les tables sont les suivantes
Writing
(
DocumentSerial int
Grader1_ID int
Grade_1 int
Grader2_ID int
Grade_2 int
Grader3_ID int
Grade_3 int
)
Users
(userID int,
firstname,
lastname
)
Je veux une table avec une seule ligne pour chaque combinaison niveleuse/qualité/document où la niveleuse est soit niveleuse 1, niveleuse 2 ou niveleuse 3
le point de vue que j'ai écrit utilise UNION, donc il ne indexe:
select documentSerial,grader1_id as grader_id, grade_1 as grade ,1 as sequence
from Writing w inner join User U on w.grader1_id=u.userid
UNION
select documentSerial,grader2_id as grader_id, grade_2 as grade ,2 as sequence
from Writing w inner join User U on w.grader2_id=u.userid
UNION
select documentSerial,grade31_id as grader_id, grade_3 as grade ,3 as sequence
from Writing w inner join User U on w.grader3_id=u.userid
problème est - SQL ne peut pas indexer la vue avec l'union ...
Voulez-vous dire que vous voulez normaliser (au lieu de dénormaliser)? – YWE
Je voulais avoir une structure normalisée temporaire jusqu'à ce que je puisse obtenir les constructions d'application en place pour mettre à jour une table normalisée. Je pensais qu'une vue ferait l'affaire, mais hélas. – Caveatrob