嗨,我目前正在开发一种测验应用程序。在“发现”部分,我得到了热门和最新的问题。但是当我得到它们时,我还应该检查当前用户是否已经回答了问题。
这是我的表格:问题:(media_id 是主键,player_id 是问题的创建者)
media_id - player_id - answer0 - answer1 - ...
答案:(media_id 是主键,player_id 是回答问题的人)
media_id - player_id - result - ...
这就是我得到热门问题的方式:
select * from questions where order by popularity_count
编辑: 让我通过示例展示我想要实现的目标:
问题行:
media_id - player_id - answer0 - answer1
0123456 abc123 bla bla
6543210 hjk789 lor ips
回答行:
media_id - player_id - result
6543210 abc123 1
因此,当用户“abc123”得到热门问题时,结果应该是:
media_id - player_id - answer0 - answer1 - is_answered
0123456 abc123 bla bla 0
6543210 hjk789 lor ips 1
问题是我需要在查询结果中有一个临时列,指示当前用户是否回答了问题。我怎样才能做到这一点?
我可以通过使用两个查询来查找问题是否已经回答了流行部分。首先,我得到了热门问题,然后我只是检查每个问题是否得到了回答,这似乎是无效的方式。我怎样才能只用一个查询来实现这一点?
谢谢!