我有这张桌子 table with evaluators and evaluatees.
上表的每一行都是两个人之间的关系(第一行:人a评估人b,第二行人a评估人c,依此类推)。
我想把这张桌子变成这样 Wanted Output
因此,每一行将对应一个评估者,每一列将是由他评估的人。 (由于某些评估人员的评估人员比其他评估人员少,因此对于没有那么多评估对象的人,其余的列将为NULL。
非常感谢,希望您能帮助我
答案 0 :(得分:0)
由于您具有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;