I were trying to achive paging through using a CTE etc, but ran into the following weither thing happening. The CTE allows me to use avariable as the ORder By field, although the CTE do not care at all what is in there Have any one seen this or maybe can explain this
USE
AdventureWorks;GO
DECLARE
@SortExpression Varchar(50)Set
@SortExpression = 'SalesPersonID ASC';WITH
Sales_CTE (RowNumber, SalesPersonID, NumberOfOrders, MaxDate)AS
(
SELECTROW_NUMBER
() OVER(Order by @SortExpression) RowNumber,SalesPersonID
, COUNT(*), MAX(OrderDate) FROM Sales.SalesOrderHeader GROUP BY SalesPersonID)
Select
* From Sales_CTE;
WITH
Sales_CTE1 (RowNumber, SalesPersonID, NumberOfOrders, MaxDate)AS
(
SELECTROW_NUMBER
() OVER(Order by SalesPersonID ASC) RowNumber,SalesPersonID
, COUNT(*), MAX(OrderDate) FROM Sales.SalesOrderHeader GROUP BY SalesPersonID)
Select
* From Sales_CTE1