日期:2014-05-17 浏览次数:20448 次
T1 FID VCHAR1 VCHAR2 VCHAR3 VCHAR4 VCHAR5 1 李江 男 读书 11 在哪 T2 FID FTABLE FFieldName FFieldTitle FFieldType 1 T1 VCHAR1 姓名 文本框 2 T1 VCHAR2 性别 下拉框 3 T1 VCHAR3 爱好 多选框 4 T1 VCHAR4 地址 文本框 想要的结果 TT FFieldName FFieldValue FFieldType VCHAR1 李江 文本框 VCHAR2 性别 下拉框 VCHAR3 爱好 多选框 VCHAR4 地址 文本框
IF NOT OBJECT_ID('Class') IS NULL DROP TABLE Class Go CREATE TABLE Class ( [Student] NVARCHAR(2) , [数学] INT , [物理] INT , [英语] INT , [语文] INT ) INSERT Class SELECT N'李四', 77, 85, 65, 65 UNION ALL SELECT N'张三', 87, 90, 82, 78 Go --2000 DECLARE @s NVARCHAR(4000) SELECT @s = ISNULL(@s + ' union all ', '') + 'select [Student],[Course]=' + QUOTENAME(Name, '''')--isnull(@s+' union all ','') 去掉字符串@s中第一个union all + ',[Score]=' + QUOTENAME(Name) + ' from Class' FROM syscolumns WHERE ID = OBJECT_ID('Class') AND Name NOT IN ( 'Student' ) --排除不转换的列 ORDER BY Colid EXEC('select * from ('+@s+')t ')
------解决方案--------------------