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

Oracle SQL:如何两次关联两张表实现位置编码展示?

实现方案:获取工单的当前与历史位置编码

核心思路

通过两次关联locn_hdr表,分别匹配工单的当前位置ID(locn_id)和历史位置ID(prev_locn_id),从而获取对应的位置编码。

SQL实现代码

SELECT
    ch.case_nbr,
    curr_loc.locn_brcd AS 当前位置编码,
    -- 处理无历史位置的情况,用COALESCE替换为自定义文本
    COALESCE(prev_loc.locn_brcd, '无历史位置') AS 历史位置编码
FROM
    case_hdr ch
-- 关联当前位置表,确保工单都能获取有效当前位置编码
JOIN locn_hdr curr_loc ON ch.locn_id = curr_loc.locn_id
-- 左关联历史位置表,避免丢失无历史位置的工单
LEFT JOIN locn_hdr prev_loc ON ch.prev_locn_id = prev_loc.locn_id;

关键说明

  • JOIN关联当前位置:基于业务假设(case_hdr的locn_id在locn_hdr中必有对应记录),确保每个工单都能拿到当前位置编码
  • LEFT JOIN关联历史位置:兼容工单无历史位置(prev_locn_id为空)的场景,避免这类工单被过滤
  • COALESCE函数:当历史位置编码为空时,替换为更友好的显示文本,可根据业务需求调整内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:55:18