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

如何从Jobs表及未在Jobs表的tempItems表获取指定数据?

实现思路与SQL语句

表结构与数据

Jobs表

JobIDItemQTY
0007Test 11
0007Test 21

tempItems表

ItemQTY
Test 10
Test 20
Test 30
Test 40

核心思路

以tempItems表的所有Item为基础,关联Jobs表的对应数据:

  • 若Item在Jobs表中存在,取Jobs表的QTY值
  • 若Item在Jobs表中不存在,保留tempItems表的QTY值(即0)

实现SQL语句

SELECT
    ti.Item,
    COALESCE(j.QTY, ti.QTY) AS QTY,
    CASE
        WHEN j.JobID IS NOT NULL THEN '<-- from jobs table'
        ELSE '<-- from tempItems table'
    END AS (explanation)
FROM tempItems ti
LEFT JOIN Jobs j ON ti.Item = j.Item;

语句说明

  1. LEFT JOIN:以tempItems(别名ti)为主表,左连接Jobs表(别名j),关联条件为两张表的Item字段相等,确保保留tempItems的所有记录,同时匹配Jobs中存在的Item。
  2. COALESCE(j.QTY, ti.QTY):优先取Jobs表的QTY值,若该值为空(即Item不在Jobs表中),则使用tempItems表的QTY值,完全匹配需求的取值规则。
  3. CASE语句:通过判断Jobs表的关联字段是否为空,生成对应的来源说明文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 14:24:54