我为我的学校制作了一个事件系统来处理事件的注册。
由于我们只希望学生访问网站上的注册,因此我有一个名为potentialusers的表。每个条目都有一个全名和一个电子邮件。当用户在网站上注册时,网站会检查学生的电子邮件是否在潜在用户表中,如果是,则将用户添加到用户表中。
我还有一个名为registrations的表。每当用户注册一个事件时,它就会被添加到这个表中。条目如下所示:registrationid、eventid(事件表的外键)、userid(也是用户表的外键,而不是潜在用户)。
我想使用 LIKE 语句搜索名称并获取用户的结果列表、说明用户是否已注册事件的列以及说明用户是否已注册的列。
这是我尝试过的(我在大括号中添加了一些评论):
SELECT FullName, Email from potentialusers
LEFT OUTER JOIN registrations ON (potentialusers.Email = registrations...{1})
WHERE events.eventid = '7'{2} AND potentialusers.Email LIKE = '%jazerix%';
{1} -> 这是第一个问题,因为注册表不包含电子邮件列,只有对包含电子邮件的用户表中用户的引用。
{2} -> 只是为了分隔事件,7 只是一个例子。
最后我想返回这样的东西: