对于我的调查软件,其中包含许多MCQ,其中用户可以在调查中来回导航并为同一问题选择2个/更多不同的选项。选择的每个选项都存储在与Question_ID关联的SQL数据库中。因此,为了分析和标记调查的给定选项,可能存在针对同一问题选择2个/更多选项的情况。
我还在表格中添加了Time -time(7)
字段。此字段存储选择选项的时间。那么我怎样才能继续前进。
那我怎么能用最后选择的选项覆盖同一个问题的所有答案呢?它是否可行,SQL命令是什么。
表格结构:
Question_ID - int (FK)
Survey_ID - int (FK)
Time_chosen - time (7)
Chosen_option - varchar(50)
注意:前端是VB 2012
所以我应该在前端或后端包含这样的代码 谢谢
答案 0 :(得分:0)
假设您使用的是SQL Server,我建议您创建一个仅包含所有最新答案的视图:
CREATE VIEW LatestAnswers
AS
SELECT
Question_ID,
Survey_ID,
Time_Chosen,
Chosen_Option
FROM
(SELECT
Question_ID,
Survey_ID,
Time_Chosen,
Chosen_Option,
ROW_NUMBER() OVER (PARTITION BY Question_ID, Survey_ID ORDER BY Time_Chosen DESC) AnswerOrder
FROM
AnswersTable) Answers
WHERE
AnswerOrder = 1