mysql - 列出注册到特定事件的成员

标签 mysql sql

我有 3 个 SQL 表

users (userId, name, secondname, ...)
events (eventId, eventName, eventDate, ...)
users_events (FK user (userId from users), FK event(eventId from events), datetimeRegistered)

用户可以注册列出的特定事件,这就是外键的用途。

我制作了一个事件列表,当您单击一个事件时,您会进入该事件的详细信息页面,其中显示所有详细信息,并且您可以在其中注册该事件。 一旦您注册,它就会将您的 userId 和您单击注册的 eventId 插入到 users_events 中。

现在我想在详细页面中显示已注册此事件的成员(member)的列表。

示例:

“Bob”的用户 ID 为“1”。
“Fred”的用户 ID 为“1”。
他们注册的事件的 eventId 为“2”。

因此表 users_events 有 2 个日期 eventId = 2, userId = 2eventId = 2, userId = 2

现在我想在我的detailpage.php中列出它们,例如

Registered users: Bob, Fred

最佳答案

看到您已经知道事件 ID,您可以像这样构建 INNER JOIN:

SELECT DISTINCT u.userId, u.name, u.secondname ....
FROM
    users_events ue
    INNER JOIN users u
    ON ue.userId = u.userId
WHERE
    ue.eventid = ???

替换???使用您知道的事件 ID。最好在从应用程序传递时参数化查询。

正如你所说,你是新人,这是更基本的起始语法问题之一,我建议在尝试解决太多问题之前先阅读一两个 SQL 教程,而不是问很多问题,因为其他问题可能会如果您不付出努力,将来就不会为您提供帮助。

关于mysql - 列出注册到特定事件的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39692518/

相关文章:

Python:加载数据 INFILE mySQL

mysql - 左外连接和 OR 子句速度很慢。筛选后可以加入吗?

mysql - 如何根据同一记录中另一个字段的值更新 MySql 字段

sql - 在此过程中如何将小数小时数转换为小时数和分钟数

php - Mysql( Doctrine )正在重复计数结果,可能是由于分组依据,但无法弄清楚

javascript - 如何将 mysql 行发送到客户端

java - 生成名称排列并生成数据库

MySQL有没有注释太多这样的事情

mysql - 使用用户名更新 mysql 列

c# - 根据用户时区的 UTC 时区更改计算