由于我是Oracle SQL新手,我需要帮助。 我希望在我的数据库中创建一个新的员工表 - 从我的原始表中获取数据并在'日期'中创建新数据。Oracle DB - 基于日期创建最新数据的新员工表
示例: 我的一名员工更改了姓氏,我希望用他/她的最新数据输入创建我的表格。
table1_raw与 列PNBR; fname; lname; 日期
197001014688 ;Eva ;Andersson ;20150501
197001014688 ;Eva ;Sandsten ;20160501
198401011133 ;Peter ;Larsson ;20150102
198401011133 ;Peter ;Larsson ;20160102
194408011237 ;Sven ;Hansson ;20130203
表2与 列PNBR; fname; lname; 日期
197001014688 ;Eva ;Sandsten ;20160501
198401011133 ;Peter ;Larsson ;20160102
194408011237 ;Sven ;Hansson ;20130203
在SQL Server我用下面的查询,与通用表表达式:
;WITH CTE as
(SELECT RN = ROW_NUMBER() OVER (PARTITION BY pnbr ORDER BY date DESC),
pnbr,
fname,
lname
FROM table1_raw)
SELECT
fname,
lname,
pnbr
INTO
table2
FROM
CTE
WHERE
RN = 1
我怎样写在甲骨文的SQL此查询? 有没有更高效/更简单的方法来做到这一点?