Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie man Tabellen mit einem Datumsbereich JOIN, ohne Prozeduren zu haben

Etwas Einfaches für den Anfang:

SELECT A.Num1
      ,A.Num2
      ,NVL(
         (SELECT DISTINCT
                 FIRST_VALUE(B.Status)
                 OVER (ORDER BY B.Date DESC)
          FROM   B
          WHERE  B.Num1 = A.Num1
          AND    B.Num2 = A.Num2
          AND    B.Date <= A.Date
         ),'New') AS Status
      ,A.Date
FROM A;

Es gibt wahrscheinlich eine bessere Methode, die jedoch schneller funktioniert.