【问题标题】:Transform SQL SERVER table转换 SQL SERVER 表
【发布时间】:2019-02-05 06:15:52
【问题描述】:

我有这张桌子 table with evaluators and evaluatees.

上表的每一行都是两个人之间的关系(第一行:人a评估人b,第二行人a评估人c,依此类推)。

我想把这张桌子变成这样 Wanted Output

所以每一行将对应一个评估者,每一列将是被他评估的人。 (因为一些评估者的评估人比其他人少,所以没有那么多评估者的人的剩余列将为 NULL。

非常感谢希望你能帮帮我

【问题讨论】:

  • 这里的大多数人想要格式化文本,而不是图像(或图像链接)。

标签: mysql sql sql-server tsql ssms


【解决方案1】:

既然你有 SQL Server 标签,我会使用 row_number() 函数和条件聚合:

select evalutor, 
       max(case when seq = 1 then evalutee end) as evalutee1,
       max(case when seq = 2 then evalutee end) as evalutee2, 
       max(case when seq = 3 then evalutee end) as evalutee3 
from (select t.*, row_number() over (partition by evalutor order by evalutee) as seq
      from table t
     ) t
group by evalutor; 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-28
    • 2015-08-04
    • 2018-12-22
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多