sql - 不重复相同的数据
问题描述
想法是不要在主管列中重复相同的值,如图所示。
select e.Name as Employee, s.Name as Supervisor
from Employee e, Employee s
where e.Employee_Supervisor = 2 and s.id = 2
解决方案
正如评论中提到的,这可能应该由表示层完成,但是。. .
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
推荐阅读
- javascript - 这个 Lodash uniqBy 调用的 Ramda 等价物是什么?
- postgresql - 如何在 sql 查询中管理 NULL 字符串或日期(PostgreSQL)
- python - 循环打印多行(按预期)但只将一行写入文件
- r - 如何在每个图例的条形图中绘制百分比标签?
- python - Pandas - 使用前一列的聚合创建一个新列
- prolog - Prolog CLPFD 传递性
- ssis - 自定义 SSIS 工作流任务
- python - 绘制与格兰杰因果检验相关的图表
- powerbi - 由于有效身份中缺少角色,无法生成用于访问数据集的嵌入令牌
- eclipse - Cucumber-Maven 使用 Eclipse 设置,不再支持 Source 选项 5。使用 7 或更高版本