zoukankan      html  css  js  c++  java
  • mysql关联更新update

    https://blog.csdn.net/babyfish13/article/details/78082844

    *********************************************************************

    样式1:

    update xcs_user_credit_score a1,xcs_user_credit_score a2
       set a1.user_currday_score=a1.user_currday_increment_score+a2.user_currday_score
     where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-19'
       and a1.uid=a2.uid;

    样式2:

        update xcs_user_credit_score a1
         inner join xcs_user_credit_score a2
            on a1.uid=a2.uid
           set a1.user_currday_score=a1.user_currday_increment_score+a2.user_currday_score
         where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-19'
        ;

    突然发现mysql的一些sql语法也很神奇,像这样式的sql语句,在oracle中是行不通的,需要其他的形式。
    另外的几个例子:

        --sub:
        update xcs_user_credit_score a1,xcs_user_credit_score a2
           set a1.user_currday_score=(case when a2.user_currday_score-10>0 then a2.user_currday_score-10 else 0 end)
         where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-19'
           and a1.uid=a2.uid
           and (a1.seqing_score=0 and a1.user_silent_score=0 and a1.jubao_score=0 and a1.chengpaopao_score=0 and a1.weifan_score=0 and a1.upper_manage_score=0 and a1.pay_active_score=0 and a1.view_active_score=0 and a1.message_active_score=0 and a1.gift_active_score=0 and a1.live_active_score=0)
           and a2.user_currday_score>0
        ;
         
        --plus:
        update xcs_user_credit_score a1,xcs_user_credit_score a2
           set a1.user_currday_score=(case when a1.user_currday_score+10<0 then a1.user_currday_score+10 else 0 end)
         where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-19'
           and a1.uid=a2.uid
           and (a1.seqing_score=0 and a1.user_silent_score=0 and a1.jubao_score=0 and a1.chengpaopao_score=0 and a1.weifan_score=0)
           and a1.user_currday_score<0
        ;
  • 相关阅读:
    Linux 共享库
    使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)
    ZOJ 3469 Food Delivery(区间DP)
    POJ 2955 Brackets (区间DP)
    HDU 3555 Bomb(数位DP)
    HDU 2089 不要62(数位DP)
    UESTC 1307 windy数(数位DP)
    HDU 4352 XHXJ's LIS(数位DP)
    POJ 3252 Round Numbers(数位DP)
    HDU 2476 String painter (区间DP)
  • 原文地址:https://www.cnblogs.com/zhao1949/p/9406940.html
Copyright © 2011-2022 走看看