1
CASE
WHEN [col1] = 's' THEN 8
WHEN [col1] = 't' THEN 6
WHEN [col1] = 'u' THEN 9
WHEN [col2] = 'v' THEN 1
.......
END AS product,
DENSE_RANK() OVER (ORDER BY product ASC) AS [Rank]
FROM dbo.TableA
DENSE_RANK()
не работает на расчетной колонке Product
, показываяDENSE_RANK на вычисляемый столбец
Invalid имя столбца 'продукта'.
Как подать заявку DENSE_RANK()
на продукт?
Просто чтобы быть ясен: это не имеет ничего общего с 'DENSE_RANK()' - вы просто не можете ссылаться на вновь вводимый псевдоним столбца позже в файле 'ВЫБРАТЬ 'statement - вы должны использовать подход, как показывает Митрандир в своем ответе –