转换sql server表

i86rm4rw  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(433)

我有一张table,上面有评价者和被评价者。
上表的每一行都是两个人之间的关系(第一行)row:person a 评估人员b,第二排人员a评估人员c,依此类推)。
我想把这个表转换成想要的输出
所以每行对应一个评价者,每列对应一个被评价者(因为一些评估者要评估的人比其他人少,所以没有那么多评估者的人的剩余列将为空。
非常感谢,希望你能帮助我

ia2d9nvy

ia2d9nvy1#

因为您有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;

相关问题