ビューのカウント列に問題があります。
SELECT ColumnC, ColumnA % ColumnB AS ModuloColAColB, COUNT_BIG(*) AS cBig FROM dbo.T1
GROUP BY ColumnC, ModuloColAColB
クエリは、次の MSDN の例に似ています: http://msdn.microsoft.com/en-us/library/ms191432.aspx
ビューをコンパイルしようとすると、「無効な列名 ModuloColAColB」のようなエラー メッセージが表示されました。
だから私は列名でグループを変更します:
SELECT ColumnC, ColumnA % ColumnB AS ModuloColAColB,
COUNT_BIG(*) AS cBig FROM dbo.T1
GROUP BY ColumnC, ColumnA, ColumnB
ビューは正しくコンパイルされていますが、インデックスを追加しようとすると次のエラーが表示されます。
"Cannot create the clustered index 'px_test' on view 'l' because the select list of the view contains an expression on result of aggregate function or grouping column.
Consider removing expression on result of aggregate function or grouping column from select list"
「ColumnA % ColumnB AS ModuloColAColB」を削除すると、すべて正常に動作します。
データベースのバージョン: SQL Server 2005 Enterprise Edition。