1
我使用问题之间的关系动态创建问卷。如何在sql server查询中使用字段值作为条件?
这意味着应该显示或隐藏一个问题取决于其他问题的答案。
我创建了两个表格,一个用于提问,一个用于关系船。
现在在关系表,我有价值观是这样的:
ParentQuesId ChildQuesId Operand Answer
35 45 = yes
35 46 = no
37 52 >= 10
35个问题有2个选择yes和no。现在,当用户选择是时,应该显示问题45并且应该隐藏46,并且当用户选择否时,应该显示问题46并且应该隐藏45。
并且当用户选择回答大于或等于10的问题52时,对于问题37也是如此。
现在我正在根据ParentQuesId和用户的答案进行sql查询。
但我不知道如何根据操作数,答案和用户答案的值作出条件。
我所到目前为止已经试过是如下:
declare @sql nvarchar(255)
declare @parent int = 35
declare @userans nvarchar(100) = 'yes'
set @sql = 'select * from QuesRelations where ParentQuesId = '+ cast(@parent as nvarchar(50)) +' and '''+ cast(@userans as nvarchar(50)) +''' = Answer';
exec(@sql)
但我需要让这个第2条件[即@userans +操作数+答案]这是基于操作字段值动态
任何人都可以帮我做这个吗?
感谢戈登您的回复,但操作数不固定。我需要使用操作数和答案作为条件。 – Mausami 2014-09-05 01:21:33
@Mausami。 。 。只需展开'where'包含所有可能的操作数。 – 2014-09-05 01:35:04
谢谢戈登。这对我很有帮助。非常感谢.. – Mausami 2014-09-05 02:53:01