我有三张桌子:
users:
--------------------
id | name |
1 | john |
2 | bob |
events
--------------------
id | name | location
1 | concert | moon
2 | sport | ukraine
user_events
--------------------
id | userid | eventid
1 | 1 | 1
2 | 1 | 2
3 | 2 | 2
我正在尝试显示用户要去的事件。我想检索并仅显示事件信息,但仅显示某个用户要去的事件的信息。
如何列出John参加的活动中的活动信息?
所以输出结果为:
johns events
--------------------
concert | moon
sport | ukraine
真的希望我已经解释得这么好了!如果没有请说。
答案 0 :(得分:1)
基本上,INNER JOIN
就足够了,因为你只想要用户参加的活动。
SELECT c.name, c.location
FROM users a
INNER JOIN user_events b
ON a.ID = b.userID
INNER JOIN events c
ON b.eventID = c.ID
WHERE a.name = 'JOHN'
要进一步了解联接,请访问以下链接:
输出
╔═════════╦══════════╗
║ NAME ║ LOCATION ║
╠═════════╬══════════╣
║ concert ║ moon ║
║ sport ║ ukraine ║
╚═════════╩══════════╝