sql 根据一个字段的值判断显示其他字段的值 5
比如一个多选试题的表字段题目、选项A、选项B、选项C、选项D、正确答案对应字段名如下:topicABCDans测试题目选项1选项2选项3选项4A、C怎样根据ans正确答案...
比如一个多选试题的表字段题目、选项A、选项B、选项C、选项D、正确答案对应字段名如下:
topic A B C D ans
测试题目 选项1 选项2 选项3 选项4 A、C
怎样根据ans正确答案字段里的值判断显示出字段A、B、C、D中的内容
比如ans中的值为A、C,则显示出选项1和选项3
请问SQL语句怎么写?多谢
sql server数据库 展开
topic A B C D ans
测试题目 选项1 选项2 选项3 选项4 A、C
怎样根据ans正确答案字段里的值判断显示出字段A、B、C、D中的内容
比如ans中的值为A、C,则显示出选项1和选项3
请问SQL语句怎么写?多谢
sql server数据库 展开
展开全部
select
case when charindex(a,ans) >0 then a
ELSE '' END as a,
case
when charindex(b,ans) >0 then b
ELSE '' END as b,
case
when charindex(c,ans) >0 then c
ELSE '' END as c,
case
when charindex(d,ans) >0 then d
ELSE '' END as d,
ans
from baby
你这个设计的不太好,应该用两个表,一个表只存有几个选项,另一个表存答案
case when charindex(a,ans) >0 then a
ELSE '' END as a,
case
when charindex(b,ans) >0 then b
ELSE '' END as b,
case
when charindex(c,ans) >0 then c
ELSE '' END as c,
case
when charindex(d,ans) >0 then d
ELSE '' END as d,
ans
from baby
你这个设计的不太好,应该用两个表,一个表只存有几个选项,另一个表存答案
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用分隔字符串:
create function f_splitstrX(@SourceSql varchar(8000),@StrSeprate varchar(100))
returns @temp table(F1 varchar(100))
as
begin
declare @ch as varchar(100)
set @SourceSql=@SourceSql+@StrSeprate
while(@SourceSql<>'')
begin
set @ch=left(@SourceSql,charindex(@StrSeprate,@SourceSql,1)-1)
insert @temp values(@ch)
set @SourceSql=stuff(@SourceSql,1,charindex(@StrSeprate,@SourceSql,1),'')
end
return
end
--使用时
declare @ans varchar(200)
select @ans=ans from 表 where 题目ID=5
declare @columns varchar(1000)
set @columns =''
select @columns=@columns+','+F1 from dbo.f_splitstrX('、',@ans)
set @columns=stuff(@columns,1,1,'')
exec ('select ' +@
+ ' from 表 where 题目ID=5')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么数据库?下次提问一定要写清楚是什么环境哦,万一别人费了半天劲结果还是数据库不一样多不好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询