我在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表的外键。我正在尝试生成一个join语句,该语句的结果如下:

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"

最佳答案

在最后一行中,在联接条件下,您使用ma而不是mb进行联接。

10-07 16:00