sql - 在Sql中,对于高级经理,如果员工也是经理,则将其经理更新为员工姓名
问题描述
下面是我的数据。将这封信视为独特的员工。高级经理 (SM) 的示例 - A. 我的员工也是经理。然后我想将 Manager 列更新为与 Employee 相同。对于高级经理 B,没有员工是经理,所以不必做任何事情。如何更新经理列?预期结果如下。
数据:
Senior Manager Manager Employee
A NULL X
A NULL Y
A NULL Z
A X C
A Y D
A Z E
B NULL F
B NULL G
预期结果:
Senior Manager Manager Employee
A X X
A Y Y
A Z Z
A X C
A Y D
A Z E
B NULL F
B NULL G
解决方案
我认为这里有一点自我加入行动COALESCE()
应该让你进入球场:
SELECT Employee.[Senior Manager],
COALESCE(Employee.[Manager], [Manager].[Manager]) as [Manager],
Employee.Employee
FROM [Table] as [Employee]
LEFT OUTER JOIN [Table] as [Manager]
ON [Employee].[Employee] = [Manager].[Manager]
推荐阅读
- reactjs - 带有 microbundle-crl 的 React Typescript 不会为除主文件以外的文件创建 js 文件
- excel - 将具有不同标题的多列堆叠成两列?
- image - 图像中的颜色值有多稳定/一致?
- javascript - 在 React 中重新排序元素而不导致它们重新渲染
- javascript - if/else 循环中的 javascript 变量声明
- python - 如何在 Python 中添加无限数量的变量
- web - “网络服务器”的术语
- trading - 银色 RSI 指标 - 一小时零梯度
- angular - 使用 SimpleChanges 访问多个属性
- python - 基于相关集的Django过滤器