注册 登录
编程论坛 SQL Server论坛

求助:数据库中的乘法问题

yunj1105 发布于 2007-06-10 20:14, 1959 次点击

我的数据库表是这样的
lab_students
user_ID varchar
Cou_mark int
mark int
last_mark int
我想实现将每个人的Cou_mark*50%+mark*50%的结果放到last_mark上
应该怎么写语句啊?

5 回复
#2
从小到大2007-06-10 22:03

如果是小数怎么办?
你直接2个加起来除以2 不就可以了吗?

#3
yunj11052007-06-11 08:44
但是要乘的数是由用户设置的啊如果用户输入30%则要算出Cou_mark*30%+mark*70%将结果附给last_mark
#4
sky_yang_sky2007-06-11 08:50

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

#5
sky_yang_sky2007-06-11 08:52

那樣的話你就在後位自己加一具用戶輸入的欄位用第三種方法就行了

#6
yunj11052007-06-11 09:17
哦 谢谢
1