SNO        CNAME                     GRADE     DAILGRADE
---------- -------------------- ----------
95001      数据库                       92
95001      英语                         85
95001      操作系统                     88
95002      数据库                       90
95002      操作系统                     80
95003      英语                         87
95004      数学                         45用一条语句给dailygrade 赋值,要求数据库课程的平时成绩80,英语的平时成绩85,其他课程的平时成绩为65。
这怎么完成谢谢

解决方案 »

  1.   

    update tbl 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) 
      

  4.   

    方法1:
    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)
      

  5.   

    update table set DAILGRADE =decode(CNAME,'数据库',80,'英语',85,65);
    commit;
      

  6.   


    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子句,都行