我需要转此表:
RecID Date Time FirstName LastName
6 5/28/2013 9:50:07 AM Jenny Welhberg
进入这个:
Column Value
RecID 6
Date 5/28/2013
Time 9:50:07 AM
FirstName Jenny
LastName Welhberg
我有:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'tablename'
select * from tablename where recid=6
另请注意,我正在使用SQL Server 2000来处理此报告。
答案 0 :(得分:0)
嗯,你可能有问题。列似乎有不同的类型。
让我忽略这一点。我假设他们都有相同的类型。在“2000”你没有unpivot。我认为最快的方法是进行交叉连接:
select cols.colname,
(case when cols.colname = 'RecId' then RecId
when cols.colname = 'Date' then Date
when cols.colname = 'Time' then Time
when cols.colname = 'FirstName' then FirstName
when cols.colname = 'LastName' then LastName
end) as Value
from t cross join
(select 'RecID' as colname union all
select 'Date' union all
select 'Time' union all
select 'FirstName' union all
select 'LastName'
) cols
如果原始类型不是字符串,则可能需要转换它们。