我需要在存储过程中的 select 语句中使用变量传递列名,但我无法使用动态查询

2024-03-08

下面是我的 SQL 查询。我想从作为变量给出的列名中选择值。除了使用动态查询之外,还有其他适当的方法可以做到这一点吗?

SELECT EPV.EmployeeCode, @RateOfEmployee, @RateOfEmployer
FROM [HR_EmployeeProvisions] EPV

不使用动态 sql 来执行此操作的一种方法是使用 CASE 语句

但这很难看

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

您必须检查所有列CASE陈述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我需要在存储过程中的 select 语句中使用变量传递列名,但我无法使用动态查询 的相关文章

随机推荐