Da ich Oracle SQL neu bin, brauche ich Hilfe. Ich möchte eine neue Mitarbeitertabelle in meiner Datenbank erstellen - Daten aus meiner Rohtabelle abrufen und die neuen Daten auf 'Datum' aufbauen.Oracle DB - neue Mitarbeiter Tabelle mit den neuesten Daten basierend auf dem Datum erstellen
BEISPIEL: Einer meiner Mitarbeiter hat den Nachnamen geändert und ich möchte meine Tabelle mit seiner neuesten Dateneingabe erstellen.
table1_raw mit Spalten pnbr; Vorname; lname; Datum
197001014688 ;Eva ;Andersson ;20150501
197001014688 ;Eva ;Sandsten ;20160501
198401011133 ;Peter ;Larsson ;20150102
198401011133 ;Peter ;Larsson ;20160102
194408011237 ;Sven ;Hansson ;20130203
table2 mit Spalten pnbr; Vorname; lname;Datum
197001014688 ;Eva ;Sandsten ;20160501
198401011133 ;Peter ;Larsson ;20160102
194408011237 ;Sven ;Hansson ;20130203
In SQL Server ich die folgende Abfrage verwendet haben, mit Common Table Expressions:
;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
Wie schreibe ich diese Abfrage in Oracle SQL? Gibt es einen effizienteren/einfacheren Weg, dies zu tun?