【发布时间】:2017-05-27 17:53:34
【问题描述】:
我有一个关于参加活动的消费者的 MySQL 数据库。该数据库包含一个用户表、事件表和签入表,它们都是相互连接的。但是数据库只包含有关用户参加某个活动的信息。 我想要一个循环遍历几个事件并检查用户是否去了其中一个的查询,并给出结果:
我尝试过以下查询:
select attend.idperson, attend.idmeeting,
(select case when
attend.idmeeting = 2901 or
attend.idmeeting = 9044 or
attend.idmeeting = 9161 or
attend.idmeeting = 2626
then 1 else 0 end) as attended
from attend
join meetings on attend.idmeeting = meetings.idmeeting
join persons on attend.idperson = persons.id
where meetings.verified = 1;
但这会导致人们实际参加的所有会议,如果在查询时选择案例中的一个会议被参加,则分配 1,其余会议分配 0。目标是使用逻辑回归预测出勤率,这种解决方案会使所有进一步的用户数据产生偏差。
【问题讨论】:
标签: mysql sql loops select case-when