Вы не можете использовать псевдоним столбца и функции Window в предложении WHERE
. Вы можете использовать CTE или Subquery.
Option1: Общее выражение таблицы:
WITH cte_query AS
(
SELECT itmopt_pk, item_fk, option_fk,
ROW_NUMBER()OVER(PARTITION BY item_fk, option_fk ORDER BY item_fk ASC, option_fk ASC) AS RN
FROM item_options
GROUP BY itmopt_pk, item_fk, option_fk
)
SELECT itmopt_pk, item_fk, option_fk, RN
FROM cte_query
WHERE RN > 1
Опция 2: Подзапрос:
SELECT itmopt_pk, item_fk, option_fk, RN
FROM
(
SELECT itmopt_pk, item_fk, option_fk,
ROW_NUMBER()OVER(PARTITION BY item_fk, option_fk ORDER BY item_fk ASC, option_fk ASC) AS RN
FROM item_options
GROUP BY itmopt_pk, item_fk, option_fk
) A
WHERE RN > 1