Вы можете использовать TOP 1 с ORDER BY для двух выражений (вместо использования MAX для одного выражения), например:
SELECT TOP 1 season, article
FROM vw_onerange_nam
WHERE article = '656927'
ORDER BY RIGHT(season,4) DESC,
CASE LEFT(season,2) WHEN 'SS' THEN 1 WHEN 'FW' THEN 2 END DESC
Я не преобразовал часть года в числовую, потому что я предполагаю, что она всегда будет состоять из 4 цифр и строка будет сортироваться одинаково.
Если у вас есть другие сезоны, кроме весны / лета и осени / зимы, вы можете добавить их в выражение CASE с соответствующими значениями в предложении THEN.
Позднее редактировать:
Если вам нужны строки для нескольких статей, с последним сезоном для каждой статьи, вы можете использовать ROW_NUMBER следующим образом:
SELECT season, article
FROM (
SELECT season, article,
ROW_NUMBER() OVER (PARTITION BY article ORDER BY RIGHT(season,4) DESC,
CASE LEFT(season,2) WHEN 'SS' THEN 1 WHEN 'FW' THEN 2 END DESC) AS RowNum
FROM vw_onerange_nam
) x
WHERE x.RowNum=1