0

对于我的调查软件,其中包含许多 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

那么我应该在前端还是后端包含这样的代码谢谢

4

1 回答 1

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
于 2013-10-01T13:07:35.623 回答