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

Oracle SQL:如何将一张表的两列关联到另一张表的同一列

SQL查询:关联Trip与Location表获取地点名称

你需要两次关联Location表,分别匹配出发地(origin)和目的地(destination)的location_ID,从而获取对应的地点名称。以下是具体的查询语句:

SELECT
    t.trip_ID,
    t.mileage,
    t.budget,
    o.location_name AS Origin,
    d.location_name AS Destination
FROM Trip t
JOIN Location o ON t.origin = o.location_ID
JOIN Location d ON t.destination = d.location_ID;

补充说明:

  • 给两张关联的Location表分别起别名o(对应出发地)和d(对应目的地),避免字段冲突。
  • 使用AS关键字给location_name指定别名,让结果列符合你需要的名称(Origin、Destination)。
  • 如果存在Trip表中origin或destination为NULL的情况,想要保留这些记录,可以把JOIN换成LEFT JOIN,还能通过COALESCE给NULL值设置默认显示文本:
SELECT
    t.trip_ID,
    t.mileage,
    t.budget,
    COALESCE(o.location_name, '未知地点') AS Origin,
    COALESCE(d.location_name, '未知地点') AS Destination
FROM Trip t
LEFT JOIN Location o ON t.origin = o.location_ID
LEFT JOIN Location d ON t.destination = d.location_ID;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:09:50