【发布时间】:2013-08-06 15:46:58
【问题描述】:
我有一个数据库,其中只有几个表,这些表是根据通过不断变化的表单内容提交的值填充的,这些表单内容包含许多复选框、单选、选择列表变量等...
表单的每个元素都附有一个唯一的 ID,例如 Q1、Q2、Q3 等...无论用户在信息上核对什么,都会将其添加到数据库中。
插入信息的“提交”表如下所示:
doc_id ques ans other final
1 Q1 1 blah 1
1 Q2 5 1
1 Q2 6 1
3 Q3 1 blah
4 Q4 8
1 Q6 1375228800 1
如果用户想要获取所有文档,其中 Q1 设置为 1,Q2 设置为 5,它可以工作,但是当指定日期时它不起作用。
搜索条件可以随时更改,除了尝试按时间戳过滤结果(例如显示 Unix 时间戳“1375228800”的“ans”字段)外,它大部分都可以正常工作
这是一个例子:
SELECT doc_id FROM submission
WHERE (ques IN ('Q1') AND ans IN ('1'))
AND (ques IN ('Q2') AND ans IN ('5'))
AND (ques = 'Q6' AND ans >= '0' AND ans <= '1375228800')
AND final = '1'
GROUP BY doc_id
除了添加时间戳部分外,它可以工作......在这种情况下,Q6 的值为 1375228800。
什么是让它工作的最佳方法?
【问题讨论】: