一次更新多个字段,更新几个表关联,时间最后一天获取表最新日期的一条数据,将相同字段的其余字段进行连接函数

UPDATE HR_USERS_COMMON_SNAPSHOT T
   SET (F_HTGS, F_RZGS, F_BY_T07, F_BY_T08, F_HRORG, F_SBJNJG) =
       (select F_HTGS_OUT,
               F_GZGS_OUT,
               F_GZGS_OUT,
               F_GZBM_OUT,
               F_HRORG_OUT,
               F_SBJG_OUT
          from HR_YGDD td
         inner join (select F_YGBH, MIN(SUBSTR(F_ZDSJ, 1, 8)) as F_ZDSJ
                      FROM HR_YGDD
                     WHERE F_SXRQ > TO_CHAR(last_day(TO_date('201903' || '01',
                                                             'yyyyMMdd')),
                                            'yyyyMMdd')
                       AND F_DJZT IN ('2', '3')
                     GROUP BY F_YGBH) tb
            on SUBSTR(td.F_ZDSJ, 1, 8) = tb.F_ZDSJ
           and td.F_YGBH = tb.F_YGBH
         WHERE F_SXRQ >
               TO_CHAR(last_day(TO_date('201903' || '01', 'yyyyMMdd')),
                       'yyyyMMdd')
           AND F_DJZT IN ('2', '3')
           AND T.F_YGH = td.f_ygbh)
 WHERE F_QJ = '201903'
   AND T.F_YGH IN (SELECT F_YGBH
                     FROM HR_YGDD U
                    WHERE F_SXRQ > TO_CHAR(last_day(TO_date('201903' || '01',
                                                            'yyyyMMdd')),
                                           'yyyyMMdd')
                      AND F_DJZT IN ('2', '3'))
 

 

 

UPDATE IC_BX_SBFF T  SET F_SM=(SELECT MAX(SM) FROM (SELECT MX.F_SSDJBH,wm_concat(F_CAPTION||'('||F_LYRBM||')')||wm_concat(USR_CAPTION||'('||F_LYR||')领用') || wm_concat(F_SBXH||'('||F_SBBH||')') AS SM
FROM IC_BX_SBFFMX MX 
LEFT JOIN BF_ORG ORG ON MX.F_LYRBM=ORG.F_ID
LEFT JOIN SSF_USERS us ON MX.F_LYR=us.usr_usrid
GROUP BY MX.F_SSDJBH) U WHERE T.F_DJBH=U.F_SSDJBH GROUP BY U.F_SSDJBH)
WHERE T.F_DJZT IN('2','3')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值