sql >> Base de Datos >  >> RDS >> Oracle

Cómo UNIR tablas usando un rango de fechas sin tener procedimientos

Algo simplista para empezar:

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;

Sin embargo, probablemente haya un método mejor que funcione más rápido.