Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ich muss Spaltennamen mit Variablen in der Select-Anweisung in der Store-Prozedur übergeben, aber ich kann keine dynamische Abfrage verwenden

Eine Möglichkeit, dies ohne Verwendung von dynamischem SQL zu tun, ist die Verwendung der CASE-Anweisung

Aber das ist hässlich

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

Sie müssen alle Spalten in CASE überprüfen Aussage.