Sql server 以不同格式显示表格

Sql server 以不同格式显示表格,sql-server,Sql Server,我有返回结果的sql代码 Set1 Value A A1 A A2 A A3 A A4 我如何像这样显示结果 Set1 Value1 Value2 Value3 Value4 A A1 A2 A3 A4 谢谢看看这个 下面的步骤就可以了。使用行号允许除A1-A4 SQL语句 早上我也在想同样的事情您可以使用公共表表达式来

我有返回结果的sql代码

Set1   Value
A       A1      
A       A2
A       A3
A       A4
我如何像这样显示结果

Set1    Value1      Value2       Value3      Value4
A           A1        A2           A3          A4
谢谢

看看这个


下面的步骤就可以了。使用
行号
允许除
A1
-
A4

SQL语句
早上我也在想同样的事情您可以使用公共表表达式来实现这一点。不过我不确定。您需要这种行为做什么?请标记和/或指定您正在使用的SQL Server版本。在2005+中,您可以使用PIVOT,但如果它无效,那么编写解决方案几乎没有意义。
SELECT  [Set1] = Set1
        , [Value1] = MIN(CASE WHEN rn = 1 THEN Value END)
        , [Value2] = MIN(CASE WHEN rn = 2 THEN Value END)
        , [Value3] = MIN(CASE WHEN rn = 3 THEN Value END)
        , [Value4] = MIN(CASE WHEN rn = 4 THEN Value END)
FROM    (       
            SELECT  Set1
                    , Value
                    , rn = ROW_NUMBER() OVER (PARTITION BY Set1 ORDER BY Value)
            FROM    AResult
        ) q
GROUP BY
        Set1