|
t_TQuiz_Detail表(试题及答案信息)
t_Type表(试题类型) |
现在我要统计每个用户答一套题(试题数不定)时本套试题的最高应得分,实际得分,各类的最高应得分和实际得分,用一条语句来实现,结果形如下面:
应得总分:
1+1+1+1+1+4+4+4=17
实际得分
0+0+1+1+0+4+4+3=13
项目管理应得分:1+1=2
实际得分:1+1=2
商务礼仪应得分:1+1=2
实际得分:0+0=0
心理素质应得分:1
实际得分:0
身体测评应得分:4+4=8
实际得分:4+4=8
情商测评应得分:4
实际得分:3
答:
|
计算给定表达式的值: select dbo.f_calc('123+456') declare @err int,@src varchar(255),@desc varchar(255) exec @err=sp_oacreate 'MSScriptControl.ScriptControl',@obj out exec @err=sp_oasetproperty @obj,'Language','vbscript' exec @err=sp_oamethod @obj,'Eval',@re out,@str lb_err: |
由于你的字符串是用',' 逗号隔开的 传值和调用时用:
select dbo.f_calc(replace(字段名,',','+'))
f_calc()这个函数就是根据数字计算的字符串来得出其值!
然后楼主自己写SQL语句就可以实现你的要求了。当然了,这个需求在应用程序中处理更合适。

