Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Analog zu OUTER APPLY in anderen RDBMS (nicht SQL Server)

In Oracle ist ein lateraler Join ein kartesischer Join mit einer Ergebnismenge, die von den Werten der Zeile abhängt. Es wurde noch kein neues Schlüsselwort eingeführt (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 scheint den LATERAL zu verwenden Stichwort intern obwohl.