加入一个引用另一个表的列两次的表

时间:2017-09-03 12:02:21

标签: mysql postgresql join

我在 POSTGRESQL 中有这个表Meeting,如下所示:

id | subject  | time                |
1  | Eat stuff| 2017-08-23 00:00:00 |
2  | Do stuff | 2017-08-28 00:00:00 |

另一张表SimilarMeeting看起来像:

meetingId | similarId | score |
1         | 2         | 0.8   |

其中SimilarMeeting.meetingIdSimilarMeeting.similarIdMeeting表的外键。我正在尝试生成一个连接语句,它会给我一个看起来像的结果:

meetingSubject | similarSubject | score
Eat stuff      | Do stuff       | 0.8

由于第一个内部联接和第二个内部联接引用了两个不同的Meeting行,因此两个内部联接在这里不起作用,我有点难过。

select "ma"."subject", "mb"."subject",     
"eva"."SimilarMeeting"."similarityScore" from "eva"."SimilarMeeting" 
join "eva"."Meeting" AS ma on "eva"."SimilarMeeting"."meetingId" = "ma"."id"
join "eva"."Meeting" AS mb on "eva"."SimilarMeeting"."similarId" = "ma"."id"

1 个答案:

答案 0 :(得分:1)

在最后一行,在连接条件中,您使用ma而不是mb加入