create table tb(id int,name varchar(50),age int)declare @s varchar(8000) select @s=isnull(@s+',','')+''''+name+''' as ['+name+']' from ( select b.name from sysobjects a join syscolumns b on a.id=b.id where a.id=object_id('tb'))t exec('select '+@s) id name age 2005可以拷贝表头
select a.name,b.name from sysobjects a join syscolumns b on a.id=b.id where a.xtype='U'我一般用的是EXCEL中的公式.有一个公式(&)比如: A B (excel的列) 1 a a 2 b a,b 3 c a,b,c 4 d a,b,c,d 5 e a,b,c,d,e公式: A B (EXCEL列) 1 a =A1 2 b =B1&","&A2 3 c =B2&","&A3 4 d =B3&","&A4这种方式非常简单!
得到指定表的列名: SELECT name FROM syscolumns WHERE id = OBJECT_ID('表名') ORDER BY colid
你可以试试行列互转````
把表名作为列```字段就行来统计试试
select @s=isnull(@s+',','')+''''+name+''' as ['+name+']' from (
select b.name from sysobjects a join syscolumns b on a.id=b.id
where a.id=object_id('tb'))t
exec('select '+@s)
id name age
2005可以拷贝表头
A B (excel的列)
1 a a
2 b a,b
3 c a,b,c
4 d a,b,c,d
5 e a,b,c,d,e公式:
A B (EXCEL列)
1 a =A1
2 b =B1&","&A2
3 c =B2&","&A3
4 d =B3&","&A4这种方式非常简单!
SELECT name FROM syscolumns WHERE id = OBJECT_ID('表名') ORDER BY colid