Почему моя таблица фактов транзакции генерирует ORA-00920: недопустимая ошибка реляционного оператора? - PullRequest
0 голосов
/ 17 мая 2018

Я новичок в Oracle и разместил код ниже, все мои таблицы измерений вставлены правильно, именно эта таблица фактов вызывает у меня эту проблему. Любая помощь приветствуется. Спасибо

INSERT INTO Transaction_Fact
(TermID, ResourceID, CampusID, SubjectID, MaxBooksOwned, Year, TotalBorrowed, FinesTotal) 
SELECT 1, '001', 'PK', 'TC001', 5, 2017, SUM(ResourceID * isReturned), 6
 FROM tbl_Resources1a
 INNER JOIN tbl_ResourceReturn1a
    ON tbl_Resources1a.ResourceID, tbl_ResourceReturn1a.ResourceID
    INNER JOIN tbl_Term
    ON tbl_ResourceReturn1a.TermID, tbl_Term1a.TermID
    WHERE Year >= TO_DATE('2017/01/01', 'yyyy/dd/mm')
    AND   Year <= TO_DATE('2018/01/31', 'yyyy/dd/mm')
    GROUP BY tbl_Resources1a.TermID

ORA-00920: недопустимый реляционный оператор

1 Ответ

0 голосов
/ 17 мая 2018

Поскольку запятая не является допустимым оператором отношения (иначе условие сравнения ).Ваши пункты ON должны (предположительно) вместо этого проверять равенство:

 INNER JOIN tbl_ResourceReturn1a
    ON tbl_Resources1a.ResourceID = tbl_ResourceReturn1a.ResourceID
 INNER JOIN tbl_Term
    ON tbl_ResourceReturn1a.TermID = tbl_Term1a.TermID
...