我的数据库表是这样的
lab_students
user_ID varchar
Cou_mark int
mark int
last_mark int
我想实现将每个人的Cou_mark*50%+mark*50%的结果放到last_mark上
应该怎么写语句啊?
如果是小数怎么办?
你直接2个加起来除以2 不就可以了吗?
if object_id('lab_students') is not null
drop table lab_students
go
create table lab_students(user_id1 varchar(20),cou_mark int,mark int, last_mark int)
insert into lab_students values('susa',2,3,0)
insert into lab_students values('coca',4,5,0)
update lab_students set last_mark=cou_mark*0.5+mark*0.5
或者是update lab_students set last_mark=(cou_mark+mark)/2
但是這兩種方法都只可取整,沒有小數,上面的結果會是這樣的,不知是不是你要的結果
susa 2 3 2
coca 4 5 4
create table lab_students(name1 varchar(20),cou_mark int, mark int, last_mark as cou_mark*0.5+mark*0.5)
insert into lab_students select 'susa',2,3
union all select 'caco',4,5
這種方法的話就不能確保last_mark是INT,但是可以精確到小數位,結果如下
susa 2 3 2.5
caco 4 5 4.5