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

如何在Oracle SQL Developer中关联两张表获取单行结果

解决SQL关联后出现多行结果的问题

你之前得到两行结果,是因为只对stationTable做了一次关联,导致Table1里的出发、到达站点ID分别匹配到stationTable的两条记录,形成了笛卡尔积。

要得到单行结果,需要两次关联stationTable,分别对应出发和到达的站点,给表取不同别名区分即可:

SELECT 
    t1.Id,
    dep.ActualID AS ActualDepartureId,
    arr.ActualID AS ActualArrivalId
FROM Table1 t1
LEFT JOIN stationTable dep ON t1.StationDepartureId = dep.StationId
LEFT JOIN stationTable arr ON t1.StationArrivalID = arr.StationId;

这条语句里:

  • 用dep作为出发站点表的别名,关联Table1的StationDepartureId
  • 用arr作为到达站点表的别名,关联Table1的StationArrivalID
    这样就能在一行中同时获取到对应的两个ActualID,不会产生多余行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:02:32