【问题标题】:Displaying two foreign keys linked with one primary key显示与一个主键链接的两个外键
【发布时间】:2013-05-05 20:25:48
【问题描述】:

这是我的桌子

Stop

id     name
a        place1
b        place2          
c        place3
d        place4
e        place5
f        place6
g        place7

Trip

id       start       finish
1          a            c
3          d            f
4          e            g
5          b            f

目前我正在使用以下 sql 查询:

SELECT trip.id, starts, ends
FROM trip,
(SELECT name as starts
FROM trip, stop
WHERE stop.id=trip.start),
(SELECT name as ends
FROM trip, stop
WHERE stop.id=trip.finish);

这让我看起来如此

id       starts       ends
1        place1       place7
2        place1       place7
3        place1       place7
4        place1       place7
5        place1       place7
1        place1       place6
and so on...

我想显示 Trip 表的内容,其中停止 id (a,b,c..) 替换为它们的指定名称。

id       start       finish
1        place1      place3
3        place4      place6
4        place5      place7
5        place2      place6

Stop id 和 Trip id 是 PK, Trip 表中的 Start 和 Finish 列是 Stop 表中 Stop id 的外键。我在 oracle developer ver 3.2 上工作。 你能帮忙吗?

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    你在找这个吗?

    SELECT
        T.id,
        S1.name Start,
        S2.name End
    FROM Trip T
        JOIN Stop S1
            T.Start = S1.Id
        JOIN Stop S2
            T.End = S2.Id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 2019-12-23
      相关资源
      最近更新 更多