Update小用法一则,在update后面接select表

Oracle:

update inj_wash_updatelog g
 set update_date =
  (select nvl(washdate,subdate) from inj_wash_pro t where  g.proid = t. proid);

MySql

UPDATE tuser a,
    <span style="color:#ff0000;">(SELECT 
        t.email, t.cellnum, g.id
    FROM
        tmp_table_user t
    INNER JOIN v_user_group g ON t.name = g.name
        AND (CASE
        WHEN ISNULL(t.team) OR t.team = '' THEN t.room
        ELSE t.team
    END) = g.GNAME
        AND (CASE
        WHEN ISNULL(t.team) OR t.team = '' THEN t.org
        ELSE t.room
    END) = g.pname) b</span>
SET 
    a.email = b.email,
    a.phone = b.cellnum
WHERE
    a.id = b.id



红色部分为重点,update后面接了一个select表,可以以此表中字段做where条件或set语句等号后面的内容

简单来说就是UPDATE后面可以接子查询,虽然前面这句话感觉怪怪的

相关阅读:ORACLE多表关联UPDATE 语句 

http://blog.itpub.net/29378313/viewspace-1064069/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值