这应该得到的序号位置作为COL_INDEX和转换领域Col_Value动态
DECLARE @sql NVARCHAR(MAX),
@columns NVARCHAR(Max),
@ordinals NVARCHAR(Max),
@table VARCHAR(200) = 'table'
SELECT @columns = STUFF ((SELECT ',CAST(' + QUOTENAME(column_name) + ' AS VARCHAR(MAX)) AS ' + QUOTENAME(ORDINAL_POSITION)
FROM information_schema.columns
WHERE [email protected]
ORDER BY ORDINAL_POSITION FOR XML PATH('')), 1, 1, ''),
@ordinals = STUFF ((SELECT ',' + QUOTENAME(ORDINAL_POSITION)
FROM information_schema.columns
WHERE [email protected]
ORDER BY ORDINAL_POSITION FOR XML PATH('')), 1, 1, '')
SET @sql = N'
SELECT Col_Index,
Col_Value
FROM (SELECT ' + @columns + ' FROM ' + @table + ') t
UNPIVOT (
Col_Value
FOR Col_Index in (' + @ordinals + ')
) up
'
,如果你有多个模式,您将需要定义与表名一起,和前置一个到您的选择查询中的表名
重复http://stackoverflow.com/questions/18026236/sql-server-columns-to-rows – iamdave
请参阅[this](https://technet.microsoft.com /en-us/library/ms177410%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396) – techspider
这些都没有帮助。我没有试图去发现一个价值。我正在努力去发掘每一个价值。 –