Крест применить пропущенное ключевое слово - PullRequest
0 голосов
/ 17 ноября 2018

Я пишу запрос в Oracle (11g):

  select DBTM,AVNR from E_MW_01Min_MIT m
  cross apply(
        select Avnr,XDatum1 from E_MW_01DAY_MEX d
        where  d.AVnr = m.avnr
        and    d.XDatum1 = m.DBTM 
   )

, но он выдает ошибку

   ORA-00905: missing keyword

в чем проблема?Спасибо

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

cross apply недоступно в этой версии Oracle.Просто используйте join вместо:

select m.DBTM, d.AVNR
from E_MW_01Min_MIT m JOIN
     E_MW_01DAY_MEX d
     ON  d.AVnr = m.avnr AND d.XDatum1 = m.DBTM ;

Это на самом деле легче выразить с помощью JOIN, поэтому я не вижу никакого преимущества в попытке APPLY, даже если база данных его поддерживает.

0 голосов
/ 17 ноября 2018

Это ключевое слово (CROSS APPLY или OUTER APPLY) введено в версии Oracle 12c.Вы можете увидеть эту ссылку: перекрестное применение с ошибкой пропущенного ключевого слова

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...