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

时间:2016-09-25 22:44:03

标签: 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将您的INSERTS注册到users_events,并且您单击的eventId就会注册。

现在,我想在已经注册到此活动的会员的详细信息页面中显示一个列表。

实施例

"鲍勃"有userId" 1"。
"佛瑞德"有userId" 1"。
他们注册的活动有eventId" 2"。

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

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

Registered users: Bob, Fred

1 个答案:

答案 0 :(得分:1)

看到您已经知道事件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教程,而不是提出很多问题,因为其他问题很可能如果你不努力,不要在将来帮助你。