Как реализовать ROW_NUMBER() OVER ( PARTITION BY row1, row2 ORDER BY row3) с двумя поля в PARTITION BY, как пример:
SELECT
iv.InvVenPK,
iv.invPK,
ROW_NUMBER() OVER (
PARTITION BY a.invPK, a.FacPK
ORDER BY a.AcSt desc, a.Pri
) AS RN
FROM (
SELECT invPK, FacPK
FROM table
WHERE VenPK = '.....'
GROUP BY invPK, FacPK
) AS b
JOIN table AS a
ON b.invPK = a.invPK
AND (
a.FacPK = b.FacPK
OR (
a.FacPK IS NULL
AND b.FacPK IS NULL
)
)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей