Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

J'ai besoin de passer des noms de colonne en utilisant une variable dans l'instruction select dans Store Procedure mais je ne peux pas utiliser de requête dynamique

Une façon de le faire sans utiliser SQL dynamique consiste à utiliser l'instruction CASE

Mais c'est moche

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

Vous devez vérifier toutes les colonnes dans CASE déclaration.