You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据leader列条件处理manager_3列值:yes保留,no设为NULL

员工数据表
emp_idemplevelmanager_idmanager_1manager_2manager_3leader
100A1500samchuckmattyes
200B2600samchuckjoeno
300C2700samchuckamyno
400D3800samchuckbrianyes

需求说明

现有员工数据表,包含emp_id、emp、level、manager_id、manager_1、manager_2、manager_3、leader列。需实现:仅当该行leader列值为'yes'时,保留manager_3列的经理名称;若leader列值为'no',则将manager_3列值标记为NULL。

预期结果

emp_idemplevelmanager_idmanager_1manager_2manager_3leader
100A1500samchuckmattyes
200B2600samchuckNULLno
300C2700samchuckNULLno
400D3800samchuckbrianyes

解决方案

可以使用SQL的CASE WHEN条件表达式实现该逻辑,兼容绝大多数数据库:

SELECT 
    emp_id,
    emp,
    level,
    manager_id,
    manager_1,
    manager_2,
    CASE WHEN leader = 'yes' THEN manager_3 ELSE NULL END AS manager_3,
    leader
FROM 
    employees;

如果使用MySQL,也可以用更简洁的IF函数:

SELECT 
    emp_id,
    emp,
    level,
    manager_id,
    manager_1,
    manager_2,
    IF(leader = 'yes', manager_3, NULL) AS manager_3,
    leader
FROM 
    employees;

内容的提问来源于stack exchange,提问作者User277883

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 22:47:54