Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 基于另一个表显示表信息_Mysql_Sql_Join - Fatal编程技术网

Mysql 基于另一个表显示表信息

Mysql 基于另一个表显示表信息,mysql,sql,join,Mysql,Sql,Join,我有三张桌子: 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 |

我有三张桌子:

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

真希望我解释得足够好!如果没有,请说。

基本上,
内部连接将满足您的需要,因为您只需要用户将要参加的活动

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  ║
╚═════════╩══════════╝

基本上,
内部连接将满足您的需要,因为您只需要用户将要参加的活动

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  ║
╚═════════╩══════════╝

太棒了,非常感谢你花时间做这件事。真的很感激!我会在8分钟内确认你的回答。谢谢对不起,最后一件事。稍后,我需要为用户提供删除他们将要删除的事件的能力。如果用户希望删除,我如何存储用户_events.id以供以后参考?感谢历史参考,也许您可以在名为
IsDeleted
(整数)的表
user\u events
上添加额外的列。默认值为零。当用户想要删除时,您将只将其值更新为一。如果你这样做的话,你的查询会有一点变化。如果您只想显示用户将要参加的活动,请添加一个过滤条件
,其中a.name='JOHN'和b.IsDeleted=0
。非常直观,非常感谢您让我的生活轻松了很多!我很高兴听到你的反馈
:)
太棒了,非常感谢你花时间做这件事。真的很感激!我会在8分钟内确认你的回答。谢谢对不起,最后一件事。稍后,我需要为用户提供删除他们将要删除的事件的能力。如果用户希望删除,我如何存储用户_events.id以供以后参考?感谢历史参考,也许您可以在名为
IsDeleted
(整数)的表
user\u events
上添加额外的列。默认值为零。当用户想要删除时,您将只将其值更新为一。如果你这样做的话,你的查询会有一点变化。如果您只想显示用户将要参加的活动,请添加一个过滤条件
,其中a.name='JOHN'和b.IsDeleted=0
。非常直观,非常感谢您让我的生活轻松了很多!我很高兴听到您的反馈
:)