我意识到这是一个非常人为的示例,但我已将完整版本简化为以下说明问题的内容:
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 行
无法在视图“PracticeRepository.model.Appointments_Partition1”上创建聚集索引“IX_Appointments_Partition1_Id”,因为视图的选择列表包含聚合函数或分组列的结果表达式。考虑从选择列表中删除聚合函数或分组列的结果表达式。
我包括 count_big...那么为什么该组有问题?....我该如何解决该错误?