【发布时间】:2019-10-12 22:36:52
【问题描述】:
我正在传递动态列名,基于该列名来获取值,并在我的表下方
Table_CandidateInfo
Id Name Age City
1 Mazhar 30 Gulbarga
20 Khan 29 Bidar
示例1
Declare @ColumnName varchar(100), @Id int
set @ColumnName='Age'
set @Id=20
select * from Table_CandidateInfo where ID=@Id and
我无法通过 and 查询传递 ColumnName,因为列名是通过代码动态传递的。我的输出应该是
29
示例 2:如果我的 @ColumnName='City' 和 @Id=20 则输出应如下所示
Bidar
【问题讨论】:
-
如果您有时间,请阅读this article on dynamic SQL 和this one on dynamic search conditions,如果您正在使用它。动态 SQL 是一个很大的话题,但那是因为人们经常不必要地、错误地使用它,或者以难以正确执行的方式使用它。一个简单的“这就是你如何做”的答案将跳过所有这些。
-
如果您回答,我会阅读,这将有助于我了解更多。 @JeroenMostert
-
为什么要强迫 Jeroen 回答 @mohdmazharkhan?这些链接有用且信息丰富,您不应仅仅因为它们在 cmets 中而忽略它们。 cmets 实际上是仅链接答案的正确位置。
标签: sql sql-server sql-server-2008 sql-server-2008-r2