如何让每个新调查从1开始?

时间:2013-07-19 00:16:56

标签: asp.net sql sql-server

请忍受我的漫步。

我有一张名为Survey的表。

此表用于存储不同类型的调查。

例如,有Employee次调查。

Salary调查等

然后有一个Questions表。

此表包含与每次调查相关的问题。

它有SurveyId fk到Survey表。

但真正的踢球者是它还有一个名为QuestionOrder的字段。

我需要此字段才能订购和重新排序与特定调查相关的问题。

例如,现在,如果用户进行员工调查,第一个问题从数字1)开始,下一个问题是2),等等。

如果我们从一项新的调查开始,我们希望该调查的问题从1开始。

我想用QuestionOrder字段执行此操作。 知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

我不认为这可以通过SQL轻松完成。也许您应该将此逻辑移动到应用程序层。例如,当您添加新问题时,QuestionOrder将等于"# of QuestionOrder in Survey" + 1

答案 1 :(得分:0)

使用ROW_NUMBER()创建视图OVER(按照SurveyId ORDER BY>按需要<分段)作为QuestionOrder