SQL Server将一行转换为列

时间:2018-01-31 00:21:20

标签: sql-server

在SQL Server中,如何转换一行整数数据,如此

ColumnName1    ColumnName2    ColumnName3
    1               2              3 

成单行,由DSEC订购?

ColumnNameTotalSort
        3
        2
        1

我知道要求似乎很简单但我已经苦苦挣扎了一段时间。

感谢您的投入。

1 个答案:

答案 0 :(得分:1)

正如ZLK所说,UNPIVOT是一个选项

另一种选择是使用CROSS APPLYVALUES

示例

Select B.* 
 From  YourTable A
 Cross Apply (values (ColumnName1)
                    ,(ColumnName2)
                    ,(ColumnName3)
             ) B(ColumnNameTotalSort)
 -- Where Your Filter Condition Here
 Order By ColumnNameTotalSort Desc

<强>返回

ColumnNameTotalSort
3
2
1