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

如何通过单SQL查询将approver表ID替换为用户姓名?

SQL查询方案:将审批表ID替换为对应用户姓名

你需要通过多次关联user表来分别获取下属、领导、主领导的姓名,使用LEFT JOIN可避免因某类ID不存在(比如无主领导)导致整条数据被过滤。

完整SQL语句

SELECT
    u1.full_name AS subordinate_name,
    u2.full_name AS leader_name,
    u3.full_name AS main_leader_name
FROM
    approver a
LEFT JOIN
    user u1 ON a.subordinate_id = u1.id
LEFT JOIN
    user u2 ON a.leader_id = u2.id
LEFT JOIN
    user u3 ON a.main_leader_id = u3.id;

关键说明

  • 给每次关联的user表设置不同别名(u1、u2、u3),区分不同的关联逻辑
  • 选择LEFT JOIN而非INNER JOIN:若approver表中某个ID字段为空或在user表无匹配,对应姓名会显示为NULL,而非丢弃整条记录
  • 通过AS给字段设置可读性更强的别名,便于识别各姓名对应的角色

如果需要保留approver表的原始ID字段,可在SELECT中补充:

a.id AS approver_id,
a.subordinate_id,
a.leader_id,
a.main_leader_id,

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:15:44