sql >> Base de Datos >  >> RDS >> Sqlserver

Necesito pasar los nombres de las columnas usando la variable en la declaración de selección en el Procedimiento de almacenamiento, pero no puedo usar la consulta dinámica

Una forma de hacer esto sin usar sql dinámico es usar la instrucción CASE

Pero esto es feo

SELECT EPV.EmployeeCode, case @RateOfEmployee  when 'RateOfEmployee' then RateOfEmployee
when 'X' then X 
..
end , case @RateOfEmployer  when 'RateOfEmployer' then RateOfEmployer
when 'Y' then Y
..
end 
FROM [HR_EmployeeProvisions] EPV

Tienes que revisar todas las columnas en CASE declaración.