Как я могу подготовить с помощью CLAUSE, используя запросы Oracle Framework. - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь выполнить следующий запрос с запросом сущности. Как реализовано предложение WITH?

WITH EVENTS AS
(select * from EVENTS_ATCS WHERE ROWNUM <10)
select * from EVENTS A
LEFT JOIN ATCS_EVENT_MASTER B ON
(A.TYPEID = B.EventId)
AND
((A.BYTE1 >= B.GE_BYTE1 AND A.BYTE1 <= B.LE_BYTE1) OR (A.BYTE1 = B.E_BYTE1))
AND
((A.BYTE2 >= B.GE_BYTE2 AND A.BYTE2 <= B.LE_BYTE2) OR (A.BYTE2 = B.E_BYTE2))
AND
((A.BYTE3 >= B.GE_BYTE3 AND A.BYTE3 <= B.LE_BYTE3) OR (A.BYTE3 = B.E_BYTE3))

1 Ответ

0 голосов
/ 02 сентября 2018

Если я понял проблему, то это то, что вы не можете использовать условие факторинга WITH. Если это так, переместите EVENTS CTE в предложение FROM:

select * 
from 
  (select * from EVENTS_ATCS WHERE ROWNUM <10) A           --> this is EVENTS
LEFT JOIN ATCS_EVENT_MASTER B ON (A.TYPEID = B.EventId)
AND ((A.BYTE1 >= B.GE_BYTE1 AND A.BYTE1 <= B.LE_BYTE1) OR (A.BYTE1 = B.E_BYTE1))
AND ((A.BYTE2 >= B.GE_BYTE2 AND A.BYTE2 <= B.LE_BYTE2) OR (A.BYTE2 = B.E_BYTE2))
AND ((A.BYTE3 >= B.GE_BYTE3 AND A.BYTE3 <= B.LE_BYTE3) OR (A.BYTE3 = B.E_BYTE3))
...