MySQL查询返回不在数据库中的值
我正在做一个项目,帮助参加特定会议的与会者。我正在处理一个查询,以获取会议中的事件以及指定用户是否正在参加此事件。为了跟踪用户是否参加活动,我们有一个联接表(Events\u Users),因此我不确定如何完成任务。我需要能够选择事件的所有信息并返回这些信息,以及一个额外的列“isAttending”(该列不在数据库中),指定该用户是否正在参加该会议 我希望返回的结果类似于:MySQL查询返回不在数据库中的值,mysql,Mysql,我正在做一个项目,帮助参加特定会议的与会者。我正在处理一个查询,以获取会议中的事件以及指定用户是否正在参加此事件。为了跟踪用户是否参加活动,我们有一个联接表(Events\u Users),因此我不确定如何完成任务。我需要能够选择事件的所有信息并返回这些信息,以及一个额外的列“isAttending”(该列不在数据库中),指定该用户是否正在参加该会议 我希望返回的结果类似于: | event.id | isAttending | | 1 | 1 | |
| event.id | isAttending |
| 1 | 1 |
| 2 | 0 |
| 3 | 0 |
这可能吗?(将传入用户ID,以便我可以使用该ID进行检查,以确定“isAttending”是否为真)
作为补充说明,我们已经尝试了两个单独的调用(getAllEvents和isUserAttenting);然而,由于这些调用是异步的,我们在获取所需信息时遇到了困难(我不知道细节)
谢谢大家! 假设您有这些表
Events : id , other columns
Event_Users : event_id , user_id
Users : id , username
这是一个问题,它会给你一个想法。如果为null,则使用IFNULL将值设置为0,否则设置为1
SELECT
e.id,
IFNULL(u.username,0,1) as isAttending
from `Events` as e
LEFT JOIN Events_Users as eu ON eu.events_id = e.id
LEFT JOIN users as u ON u.id = eu.user_id
where u.id = 1
其中1是可以动态替换的特定用户id这可以使用
左连接来完成。您需要向我们展示一个表结构。