SQL Создать индекс при просмотре с помощью SUM () в Select - PullRequest
1 голос
/ 29 марта 2012

Используя SQL2005, мне нужно создать представление для отображения оператора выбора следующим образом:

select c1.personid, Max(c1.call_Date) Call_Date, Sum(s1.quantity) Num_Boxes,
from dbo.kits_dropped s1
inner join dbo.calls c1 on(c1.callsid = s1.callsid)
Where s1.product_name = 'Product X'
GRoup by c1.personid

Как я могу создать индекс для personID в представлении выше?

Спасибо!

1 Ответ

5 голосов
/ 29 марта 2012

Вот руководство по созданию индексированных представлений в SQL 2005 .

Это может помочь вам начать, это показывает представление с кластерным индексом на personid:

CREATE VIEW MyView WITH SCHEMABINDING AS 

SELECT 
        c1.personid, 
        MAX(c1.call_Date) AS Call_Date, 
        SUM(s1.quantity) AS Num_Boxes,
FROM dbo.kits_dropped s1
INNER JOIN dbo.calls c1 ON (c1.callsid = s1.callsid)
WHERE s1.product_name = 'Product X'
GROUP BY c1.personid

GO

CREATE UNIQUE CLUSTERED INDEX MyViewInd ON MyView(personid)

Пожалуйста, прокомментируйте, если у вас возникнут проблемы с вышеуказанным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...