我意识到这是一个很做作的例子,但我已经简化了完整版到这表明了问题的情况如下:的SQL Server索引视图错误
CREATE VIEW model.Appointments_Partition1
WITH SCHEMABINDING AS
SELECT CONVERT(varchar(15), AppointmentId) as Id,
ap.AppTypeId as AppointmentTypeId,
ap.Duration as DurationMinutes,
ap.AppointmentId as EncounterId,
COUNT_BIG(*) as __count_big
FROM dbo.Appointments ap
JOIN dbo.PracticeCodeTable pct ON SUBSTRING(pct.Code, 1, 1) = ap.ScheduleStatus
AND pct.ReferenceType = 'AppointmentStatus'
WHERE ap.AppTime > 0
GROUP BY CONVERT(varchar(15), AppointmentId), ap.AppTypeId, ap.Duration, ap.AppointmentId
CREATE UNIQUE CLUSTERED INDEX [IX_Appointments_Partition1_Id]
ON model.Appointments_Partition1 ([Id]);
我得到:
因为该视图的选择列表包含聚合函数或分组列的结果的表达式消息8668,级别16,状态0,第12行
无法对视图创建聚集索引“IX_Appointments_Partition1_Id“PracticeRepository.model.Appointments_Partition1”。考虑从选择列表中删除聚合函数或分组列的结果上的表达式。
我包括count_big ...那么为什么组是由一个问题?....我怎样才能解决这个错误?
不知道我理解? – Jeff