以下查询不起作用,因为列名 RowN 无效。有没有一种优雅的方法可以让它正常工作?
select
*,
ROW_NUMBER() over(PARTITION BY matricola order by esercizio desc, cod_valutazione, valutaz_sintetica, matricola, FigureOrder) AS RowN
from
(
select distinct
'' as pdf,
Vm.NomeManager + ' ' + Vm.CognomeManager as valutatore,
vpd.ESERCIZIO as esercizio,
vpd.cod_valutazione,
Vm.NomeValutato +' ' + Vm.CognomeValutato as valutato,
vpd.matricola,
valutaz_sintetica,
vpd.COD_STATO as stato_scheda,
vpd.VALUTAZIONE_RANKING_SINTETICA,
vvv.COD_FIGURA,
case
when COD_FIGURA = 'OWNG' then 0
when COD_FIGURA = 'VAL1' then 1
when COD_FIGURA = 'OWN' then 2
end as FigureOrder
from
View_SchedePerDistribuzione vpd
inner join RL_VALUTAZIONE_VALUTATI_VALUTATORI vvv ON vpd.COD_VALUTAZIONE = vvv.COD_VALUTAZIONE AND vpd.MATRICOLA = vvv.MATRICOLA_VALUTATO
inner join ValutatiManager Vm ON vpd.MATRICOLA = Vm.MatricolaVAlutato and vpd.COD_VALUTAZIONE = Vm.COD_VALUTAZIONE
where
vpd.cod_valutazione='PA_DPO_11-12' and
chiusa = 0 AND
VVV.COD_FIGURA IN ('VAL1', 'OWN', 'OWNG') AND
VVV.Matricola = '30000027') as tab
where
RowN = 1
order by esercizio desc, cod_valutazione, valutaz_sintetica, matricola, FigureOrder