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

如何从关联表中选取数据并返回出发地与目的地名称的SQL实现

解决方法:两次关联同一张表获取出发地和目的地名称

这其实是个很常见的SQL场景——当你需要从同一张关联表中获取两个不同字段对应的名称时,只需要对这张表做两次JOIN操作,并通过别名区分即可。

具体实现SQL语句

SELECT
    l_from.location_name AS departure_location,
    l_to.location_name AS arrival_location,
    h.start_time,
    h.end_time
FROM holiday h
JOIN locations l_from ON h.location_from = l_from.location_id
JOIN locations l_to ON h.location_to = l_to.location_id;

语句说明

  • 给holiday表起别名h,简化代码书写;
  • 第一次关联locations表时用别名l_from,对应holiday表的location_from(出发地ID),拿到出发地名称;
  • 第二次关联locations表时用别名l_to,对应holiday表的location_to(目的地ID),拿到目的地名称;
  • 通过AS关键字给查询结果的字段设置更直观的别名,比如departure_location(出发地名称)和arrival_location(目的地名称);
  • 如果你不需要行程时间,可以直接删掉start_time和end_time字段。

测试结果

用你提供的示例数据运行这条SQL,会得到如下结果:

departure_locationarrival_locationstart_timeend_time
sydneygold coast13:0017:00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 12:43:11