SQL使用Select中的SUM()在视图上创建索引
使用SQL2005,我需要创建一个视图来显示select语句,如下所示:SQL使用Select中的SUM()在视图上创建索引,sql,view,indexing,Sql,View,Indexing,使用SQL2005,我需要创建一个视图来显示select语句,如下所示: 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 如
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索引
谢谢 这里有一个关于创建的指南 这可能会让您开始,它显示了一个在
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)
如果您遇到上述问题,请发表评论。以下是有关创建的指南 这可能会让您开始,它显示了一个在
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)
如果您遇到上述问题,请发表评论。可能适用于您的问题。。可能适用于您的问题。.啊,索引视图不喜欢MAX。要解决这个问题,您可以使用
bit
列检查并修改删除的kits
,如果可能的话,并将最近(MAX)调用日期
记录的值设置为1
,视图定义必须包含COUNT\u BIG(*),正如您在文章中链接的手册页面所示。啊,索引视图不喜欢MAX。要解决这个问题,您可以签出并修改删除的kits\u
,如果可能的话,使用bit
列,并将最新(MAX)的值设置为1
Call\u Date
record.如果存在GROUP BY,则视图定义必须包含COUNT\u BIG(*)
,这与您在文章中链接的手册页面一致。