declare @s as varchar(200)
declare @tablename as varchar(200)
set @tablename=表名
set @s=''
select @s=@s+','+ltrim(rtrim(name)) from
(
select a.name from syscolumns a, sysobjects d
where a.id=d.id and d.name=@tablename
)
A
set @s=stuff(@s,1,1,'')
--print @s
exec('select '+@s+' from '+@tablename+'')
--根据条件可以生成表列,如果指定19,就用top 19,自己想要的列,加个条件既可!
Declare @str varchar(200)
SELECT @str= dbo.syscolumns.name
dbo.syscolumns.colid
FROM dbo.syscolumns INNER JOIN
dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id
WHERE (dbo.sysobjects.xtype = 'U') And dbo.sysobjects.name ='表名' and dbo.syscolumns.colid=19
SELECT dbo.sysobjects.xtype, dbo.syscolumns.name, dbo.sysobjects.name AS Expr1,
dbo.syscolumns.colid
FROM dbo.syscolumns INNER JOIN
dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id
WHERE (dbo.sysobjects.xtype = 'U') And dbo.sysobjects.name ='表名' and dbo.syscolumns.colid=19