由於我是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此查詢? 有沒有更高效/更簡單的方法來做到這一點?