首页 > 解决方案 > 不重复相同的数据

问题描述

想法是不要在主管列中重复相同的值,如图所示。

select e.Name as Employee, s.Name as Supervisor 
from Employee e, Employee s  
where e.Employee_Supervisor = 2 and s.id = 2

我有这个

我需要这个

标签: sqltsql

解决方案


正如评论中提到的,这可能应该由表示层完成,但是。. .

select 
    e.Name AS Employee, 
    case when row_number() over (partition by s.Name order by e.Name)=1 
        then s.Name else '' end AS Supervisor 
from Employee e, Employee s  
where e.Employee_Supervisor=2 AND s.id=2

SQL小提琴


推荐阅读