zoukankan      html  css  js  c++  java
  • sql update 特殊用法

    1.Count 更新

      schoolbasicinfo 中存在 MENBERCOUNT 字段记录条数  vw_shcoolbasic 做Count查询

    update schoolbasicinfo set MENBERCOUNT=
    (
    select vw_shcoolbasic.countnum from vw_shcoolbasic where schoolbasicinfo.schoolinfoid=vw_shcoolbasic.schoolid)

    2.case 更新

    代码
      update websitequestion
          
    set hasanswered=case
          
    when hasanswered='n' then '0'
          
    else '1' end 
      多个when
      
    update websitequestion
          
    set hasanswered=case
          
    when hasanswered='n' then '0'
          
    when hasanswered='y' then '1'
          
    else '0' end 

    1.26 补充:在count更新的时候,可能schoolbasicinfo.schoolinfoid 不存在于vw_shcoolbasic 

    这个时候我们更新schoolbasicinfo想得到的MENBERCOUNT为0,可实际schoolbasicinfo得到的却是 null

    可以结合case

    代码
     update schoolbasicinfo set MENBERCOUNT=
           ( 
            
    case when schoolinfoid not in (select schoolid from vw_shcoolbasic group by schoolid) then '0'
            
    else  (select vw_shcoolbasic.countnum from vw_shcoolbasic where schoolbasicinfo.schoolinfoid=vw_shcoolbasic.schoolid)
            
    end
            )
  • 相关阅读:
    [六省联考2017]相逢是问候
    [CQOI2017]老C的键盘
    [CQOI2017]老C的任务
    [CQOI2017]小Q的棋盘
    <sdoi2017>树点涂色
    三分法
    最长回文子串
    hdu3261
    spoj694
    poj1743
  • 原文地址:https://www.cnblogs.com/dooom/p/1639152.html
Copyright © 2011-2022 走看看