SNO CNAME GRADE DAILGRADE
---------- -------------------- ----------
95001 数据库 92
95001 英语 85
95001 操作系统 88
95002 数据库 90
95002 操作系统 80
95003 英语 87
95004 数学 45用一条语句给dailygrade 赋值,要求数据库课程的平时成绩80,英语的平时成绩85,其他课程的平时成绩为65。
这怎么完成谢谢
---------- -------------------- ----------
95001 数据库 92
95001 英语 85
95001 操作系统 88
95002 数据库 90
95002 操作系统 80
95003 英语 87
95004 数学 45用一条语句给dailygrade 赋值,要求数据库课程的平时成绩80,英语的平时成绩85,其他课程的平时成绩为65。
这怎么完成谢谢
(
case when cname='数据库' then 80
when cname='英语' then 85
else 65 end
)
update table set dailgrade =
(
case when cname='数据库' then 80
when cname='英语' then 85
else 65 end
)
方法2:
select decode(CNAME,'数据库',80,'英语',85,65) as DAILGRADE from table
方法3:
update table set dailgrade = decode(CNAME,'数据库',80,'英语',85,65)
commit;
update lztable set dailgrade=decode(
cname,'数据库',90,'英语',100,65) 1 update lztable set dailgrade=(
2 case when cname='数据库' then 80
3 when cname='英语' then 85
4 else 65 end
5* )
decode()函数和 case子句,都行