2013-07-19 20 views
0

請忍受我漫不經心的片刻。如何讓每個新調查從1開始?

我有一張名爲Survey的表格。

此表用於存儲不同類型的調查。

例如,有Employee調查。

Salary調查等

然後有一個Questions表。

本表列出了與每個調查相關的問題。

它對survey表進行surveyId fk。

但真正的踢球者是它也有一個叫做QuestionOrder的字段。

我需要此字段才能訂購和重新排列與特定調查相關的問題。例如,如果用戶進行員工調查,第一個問題從數字1開始,下一個問題2)等等。

如果我們開始一個新的調查,我們想這個問題對於調查與1

我想與QuestionOrder場做到這一點開始。 任何想法如何做到這一點?

回答

1

我不認爲這可以通過SQL輕鬆完成。也許你應該把這個邏輯移到應用層。例如,當你添加一個新的問題,QuestionOrder將等於"# of QuestionOrder in Survey" + 1

+0

奇妙的想法。 唯一的問題是我們開始有一個問題,從一個從1開始的新問題開始一個新的調查。 請記住,有一個調查表,它有SurveyID integer,Title和Description。 如果我在這個表上有2個調查,那麼就是surveyId 1和surveyId 2. 因此,您的提議並不能解決用新號碼1開始一個新問題的問題,除非我誤解了您,但真的是個好主意。 非常感謝。 –

0

創建視圖與ROW_NUMBER()OVER(PARTITION BY surveyId ORDER BY>,因爲你需要<)作爲QuestionOrder

+0

我能夠使用存儲過程解決此問題,但該想法是從@ acardenas89借用的。 所以,非常感謝。 –

相關問題