これは非常に不自然な例だと思いますが、フルバージョンを次のように簡略化して問題を示しています。
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を含めています...それで、group byに問題があるのはなぜですか?....そしてエラーを解決するにはどうすればよいですか?