我创建了以下过程来最终获取值(而不是最后的列名)。但是,如果在上一个查询中仅使用声明的@ColumnName,我只会看到列名“XXX”,而不是该行的XXX值。
我有以下内容:
DECLARE @ColumnName AS VARCHAR(50)
SET @ColumnName = (select column_name FROM INFORMATION_SCHEMA.COLUMNS where table_name = 'History' and ORDINAL_POSITION = 2 )
SELECT @ColumnName from kat.[dbo].[History]
我想得到的是以下结果:
select XXX from kat.[dbo].[History]
即使@ColumName的值为XXX,也不起作用。
在左边我得到了我的结果(总是列的名称,右边是所需的值)
1-XXX, The value from XXX
2-XXX, the next value from XXX
3-XXX, the next value from XXX
非常感谢,
吉
答案 0 :(得分:1)
您需要动态查询
EXEC('SELECT '+@ColumnName+' from kat.[dbo].[History] ')