У меня проблема со счетным столбцом в моем представлении.
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.