sql >> Base de Datos >  >> RDS >> Mysql

Análogo de OUTER APPLY en otro RDBMS (no SQL Server)

En Oracle, una unión lateral es una unión cartesiana con un conjunto de resultados que depende de los valores de la fila. Aún no se ha introducido ninguna palabra clave nueva (SQLFiddle ):

SQL> CREATE OR REPLACE TYPE number_nt AS TABLE OF NUMBER;
  2  /

Type created
SQL> SELECT t.id, t.dt, u.column_value amount
  2    FROM Transactions t
  3   CROSS JOIN TABLE(number_nt(t.amount, t.amount2)) u;

        ID DT                AMOUNT
---------- ----------- ------------
         1 05/06/2013           100
         1 05/06/2013  
         2 05/06/2013            25
         2 05/06/2013            75

Oracle parece usar el LATERAL palabra clave internamente aunque.