【发布时间】:2021-04-02 07:44:57
【问题描述】:
我想获取外键匹配的第一行。我不知道如何选择第一行 外键匹配的地方
事件表
id | name
----------------
1 | john
----------------
2 | Cat
event_attendee 表
id | event_id | type
--------------------------
1 | 1 | User
--------------------------
2 | 1 | Local
--------------------------
3 | 1 | User
--------------------------
4 | 2 | User
--------------------------
5 | 2 | User
我想要这个结果
id | name | event_id | type
------------------------------------
1 | John | 1 | User
------------------------------------
2 | Cat | 2 | User
试过
select
a.*,
b.*
from
events as a
left join (
select
distinct
event_attendee.events_id,
event_attendee.type
from
event_attendee
left join events on
event_attendees.events_id = events.id
where
events.id = event_attendees.events_id
limit 1
) as b on
a.id = b.events_id
问题
它只适用于第一行,第二行显示为空
id | name | type
------------------------------------
1 | John | User
------------------------------------
2 | Cat |
【问题讨论】:
标签: sql postgresql join