我目前正在为调查/问卷系统创建表格。当我开始创建问题表时,我想我遇到了一个小问题,如果我继续,可能会影响整个应用程序。在我的问题表中,我有一个名为“subBelongsToQuestion”的列,它是一个整数值,用于标识哪些子问题属于哪些父问题(如果有的话)。然后在我的答案表中,我有一个名为“responseRevealSubQuestion”的列,这是一个整数值,用于标识在“responseRevealSubQuestion”中触发器应答时要显示哪些子问题列值与“响应”列值匹配。
例如,如果用户对诸如“你喜欢奶酪吗?”之类的问题回答“是”,那么就会出现一个子问题:“你喜欢什么奶酪?”。
我想将此愿景转换为数据库格式,我不确定是否应该继续使用我正在使用的方法,还是要改变?如果说用户删除包含子问题的问题,则应用程序可以运行所需的代码以删除子问题并触发答案。
答案 0 :(得分:1)
通常,对于您不使用SubQuestions的调查应用,您可以定义流条件
想象一下你在db上有这个问题
Q_ID Question
1 Do you like cheese?
2 What do you like about cheese?
3 Do you like meat?"
4 What do you like about meat?
5 ...
然后你有一个流程表在一个答案后验证。
Q_FROM Q_VALUE Q_TO
1 NO 3
3 NO 5
在这种情况下,您只能绕过NO
回答。否则你继续下一个问题。
在你结束每个问题后
SELECT Q_to
FROM FlowTable
WHERE Q_from = @CurrentQuestion
AND Q_value = @CurrentAnswer