34,589
社区成员
发帖
与我相关
我的任务
分享
DECLARE @tablename VARCHAR(100)
SET @tablename = 'tb'
DECLARE @sql VARCHAR(max)
SELECT
@sql = 'select ' + QUOTENAME(b.[name]) + ' from ' + QUOTENAME(@tablename)
FROM sys.tables a, sys.columns b
WHERE a.object_id = b.object_id
AND a.[name] = @tablename
AND a.[type] = 'U'
AND b.column_id = 2
--PRINT @sql
EXEC(@sql)
select * from tb
地区 国家 书名 价格
---- ----- ---- -----------
一山 KOR java 20
一山 KOR java 10
一山 KOR vb 10
上海 CHINA java 10
上海 CHINA java 30
上海 CHINA vb 10
因拉 印度 java 20
迪拉 印度 vb 10
沙拉 沙特 java 10
(9 row(s) affected)
declare @col varchar(10)
select @col=name from sys.columns
where OBJECT_NAME(object_id)='tb'
and column_id=2
exec('select '+@col+' from tb')
国家
-----
KOR
KOR
KOR
CHINA
CHINA
CHINA
印度
印度
沙特
(9 row(s) affected)