1

我有三张桌子:

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

真的希望我已经解释得足够好!如果不是请说。

4

1 回答 1

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  ║
╚═════════╩══════════╝
于 2013-03-17T15:25:07.953 回答