有两个表
a
表字段 name ID
表数据 c null
d null
e null
b
表字段 name id date
表数据 c 1 2009-01-01
c 2 2009-02-03
d 1 2009-02-01
d 3 2009-02-02
d 4 2009-01-01
在PL/SQL 中如何直接通过语句把b 表中相应name最新日期的id更新到a表中
有朋友提示说写个过程,不知具体要如何做
SQL文入下:
- UPDATE A
- SET ID = (SELECT TMP_B.ID
- FROM (SELECT TMP.ID, TMP.NAME
- FROM (SELECT B.ID,
- B.NAME,
- ROW_NUMBER() OVER(PARTITION BY B.NAME ORDER BY B.DATE1 DESC) AS RN
- FROM B) TMP
- WHERE TMP.RN = 1) TMP_B
- WHERE TMP_B.NAME = A.NAME)