1. 程式人生 > >Update小用法一則,在update後面接select表

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後面可以接子查詢,雖然前面這句話感覺怪怪的

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