我有一个应用程序,询问用户多个问题。目标是不显示用户已经回答的问题。因此,如果鲍勃回答问题X,他就不会看到它。但是,如果她还没有回答,Sally会看到问题X。
我有一个MySQL查询,在我的查询编辑器中运行正常。查询连接两个表并返回一个与提供的用户名字符串不匹配的问题,或者该用户名是否为空(意味着问题尚未得到解答)。问题是在sequelize内如果用户名字符串为null,则查询返回空字段,但如果某个问题已被另一个用户名回答,则会显示问题。
这是我的工作查询:
select * from questions
left join responses on responses.QuestionId = questions.id
where responses.username <> 'username string' or responses.username is null
order by rand() limit 1;
这是我的续集查询:
_sequelize.query(
'select * from questions ' +
'left join responses on responses.QuestionId = questions.id ' +
'where responses.username <> "' + req.query.name + '" or responses.username is null ' +
'order by rand() ' +
'limit 1',
{model : models.Responses})
答案 0 :(得分:0)
用户错误。我的关联错误,所以我在问题表中添加了一个'beenAnswered'字段。