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

如何通过JOIN关联Table1两列与Table2获取对应描述

双字段关联同一张表获取对应描述的解决方案

你的问题出在只对Table2做了一次关联,只能匹配STAT1对应的描述,STAT2没有和Table2建立关联逻辑,所以需要两次关联同一张Table2,通过别名区分两次关联的匹配关系,就能在单行结果中同时获取两个状态的描述。

基础INNER JOIN实现(仅保留两个状态都有匹配描述的记录)

SELECT 
    t1.VBELN,
    t1.STAT1,
    t2a.DESC AS STAT1DESC,
    t1.STAT2,
    t2b.DESC AS STAT2DESC
FROM Table1 t1
-- 关联STAT1对应的描述
INNER JOIN Table2 t2a ON t1.STAT1 = t2a.STATS
-- 关联STAT2对应的描述
INNER JOIN Table2 t2b ON t1.STAT2 = t2b.STATS;

LEFT JOIN实现(保留Table1所有记录,无匹配描述时显示NULL)

如果存在STAT1或STAT2在Table2中没有对应记录的情况,用LEFT JOIN可以避免丢失Table1的数据,还能通过COALESCE函数把NULL替换成自定义文本:

SELECT 
    t1.VBELN,
    t1.STAT1,
    COALESCE(t2a.DESC, '无对应描述') AS STAT1DESC,
    t1.STAT2,
    COALESCE(t2b.DESC, '无对应描述') AS STAT2DESC
FROM Table1 t1
LEFT JOIN Table2 t2a ON t1.STAT1 = t2a.STATS
LEFT JOIN Table2 t2b ON t1.STAT2 = t2b.STATS;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:28:22