【发布时间】:2016-06-18 09:43:26
【问题描述】:
我有 3 张桌子
1)question
2)options
3)answers
表 1 包含多项选择题列表。表 2 包含该问题的多项选择。
举个例子,我有一个问题“你最喜欢哪个游戏?”
它存储在表 1 中,id 为 1。对于这个问题,表 2 中有 3 个选项;作为 ID 为 1,2 和 3 的“板球”、“足球”、“网球”。
当用户回答这个问题时,问题 id 和选项 id 被存储到第三个表中,就像他选择足球一样,表 3 中的条目是问题 id 和选项 id。
如果另一个用户选择相同的选项,则新条目存储在表 3 中。
我的需要是我想获得表 3 中每个选项的计数。
考虑 10 个用户选择板球,15 个用户选择足球,没有用户选择网球,所以我需要计数为 10,15,0 及其对应的选项 id
表格名称:问题
--------------------------------
| id | question |
--------------------------------
| 1 | which game u like most |
表名:选项
------------------------------------------------
| id | qid | option_name |
------------------------------------------------
| 1 | 1 | cricket |
------------------------------------------------
| 2 | 1 | football |
------------------------------------------------
| 3 | 1 | tennis |
------------------------------------------------
表名:答案
--------------------------------------------
| id | qid | optionId |
--------------------------------------------
| 1 | 1 | 3 |
---------------------------------------------
| 2 | 1 | 3 |
----------------------------------------------
| 3 | 1 | 2 |
----------------------------------------------
上表表示,2人选择网球,1人选择足球,没有人选择板球。所以我需要结果表作为
------------------------------------------------------
| id | question | option_name | count |
------------------------------------------------------
| 1 | which game u like most | cricket | 0 |
-------------------------------------------------------
| 2 | which game u like most | football | 1 |
-------------------------------------------------------
| 3 | which game u like most | tennis | 2 |
-------------------------------------------------------
但是当我尝试时,我没有得到板球的计数,因为没有人选择板球。我必须将板球计数为 0。有人可以帮我解决这个问题吗? 我的sql代码是
SELECT count(an.optionId) count , op.option_name, q.question from
questions q, options op, answers an where q.id=1
and q.id=op.qid
and op.id=an.optionId
group by q.question, op.option_name
【问题讨论】:
-
认真的吗?您真的认为我们能够在这些小信息上为您提供帮助吗?
-
如果您愿意,请考虑遵循以下简单的两步操作:1.如果您还没有这样做,请提供正确的 CREATE 和 INSERT 语句(和/或 sqlfiddle),以便我们可以更轻松地复制问题。 2. 如果您尚未这样做,请提供与步骤 1 中提供的信息相对应的所需结果集。
-
@Akshay 如果您认为某个问题不清楚或不完整,请考虑相应地使用您的投票。
-
抱歉信息不完整。现在我已经添加了详细的需求。请帮助。在此先感谢