相关疑难解决方法(0)

将1行表展平为键值对表

获取表示连续列值的键值对结果集的最佳方法是什么?

给出下面的表A只有1行


Column1 Column2 Column3 ...
Value1  Value2  Value3
Run Code Online (Sandbox Code Playgroud)

我想查询它并插入另一个表B:


Key                  Value
Column1              Value1
Column2              Value2
Column3              Value3
Run Code Online (Sandbox Code Playgroud)

表A中的一组列事先不知道.

注意:我正在查看FOR XML和PIVOT功能以及动态SQL来执行以下操作:


    DECLARE @sql nvarchar(max)
    SET @sql = (SELECT STUFF((SELECT ',' + column_name 
                              FROM INFORMATION_SCHEMA.COLUMNS 
                              WHERE table_name='TableA' 
                              ORDER BY column_name FOR XML PATH('')), 1, 1, ''))
    SET @sql = 'SELECT ' + @sql + ' FROM TableA'
    EXEC(@sql)
Run Code Online (Sandbox Code Playgroud)

sql t-sql pivot sql-server-2008

9
推荐指数
2
解决办法
8916
查看次数

标签 统计

pivot ×1

sql ×1

sql-server-2008 ×1

t-sql ×1