我有 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 = 2
和 eventId = 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/