Mysql
 sql >> Base de données >  >> RDS >> Mysql

Analogue de OUTER APPLY dans d'autres RDBMS (pas SQL Server)

Dans Oracle, une jointure latérale est une jointure cartésienne avec un jeu de résultats qui dépend des valeurs de la ligne. Aucun nouveau mot-clé n'a encore été introduit (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 semble utiliser le LATERAL mot-clé en interne cependant.