早教吧 育儿知识 作业答案 考试题库 百科 知识分享

SQL计算列的问题我要在数据库中加入计算列,比如有a,b,c三列,计算列D=(a+b+c)/3,然后想用E列来存储a,b,c的方差,公式为e=(a-d)*(a-d)+(b-d)*(b-d)+(c-d)*(c-d);第一个问题:SQLServer2008提示“验证列e的公

题目详情
SQL 计算列的问题
我要在数据库中加入计算列,比如有a,b,c三列,计算列D=(a+b+c)/3,然后想用E列来存储a,b,c的方差,公式为e=(a-d)*(a-d)+(b-d)*(b-d)+(c-d)*(c-d);第一个问题:SQL Server 2008提示“验证列e的公式出错”.这是怎么回事.第二个问题,我应该这样设置计算列来存储方差和标准差?.第三个问题,这是一个掷骰子的问题,我要循环的插入三次掷骰子的组合结果,怎么写SQL代码?
▼优质解答
答案和解析
1.一个计算列中不能引用另一个计算列
2.像这样
create table tt7
(a int
,b int
,c int
,d as (a+b+c)/3.0
,e as (a-(a+b+c)/3.0)*(a-(a+b+c)/3.0)+(b-(a+b+c)/3.0)*(b-(a+b+c)/3.0)+(c-(a+b+c)/3.0)*(c-(a+b+c)/3.0)
)
3.直接插入1到6之间的随机数就行了
insert into tt7 (a,b,c) 
values (
ceiling(rand(checksum(newid()))*6),
ceiling(rand(checksum(newid()))*6),
ceiling(rand(checksum(newid()))*6))
需要多行数据的时候,循环执行就好了