Список имен в скобках в строке 1 должен содержать имена столбцов представления:
CREATE VIEW ERP_REPORT(EVENTNAME, DESCRIPTION, COUNT(RIDERS) AS ...
Вы не можете создать столбец с именем «COUNT (RIDERS» или даже «COUNT (RIDERS)», поскольку имя столбца может не содержать (или). Это будет работать:
CREATE VIEW ERP_REPORT(EVENTNAME, DESCRIPTION, RIDER_FULL_NAME) AS ...
Однако, похоже, вы действительно хотите посчитать что-то, хотя я не уверен в чем. Для этого определение представления должно быть примерно таким:
CREATE VIEW ERP_REPORT(EVENTNAME, DESCRIPTION, RIDER_COUNT) AS
SELECT EVENTNAME, RACES.DESCRIPTION, COUNT(*)
FROM EVENTS, RACES, PARTICIPATION, RIDERS
WHERE EVENTS.EVENTID = RACES.EVENTID
AND RACES.RACEID = PARTICIPATION.RACEID
AND RIDERS.RIDERID = PARTICIPATION.RIDERID
GROUP BY EVENTNAME, DESCRIPTION;
(т.е. функция COUNT идет в части SELECT, а не в списке имен столбцов).
Кроме того, поскольку вы, вероятно, новичок в Oracle, я бы посоветовал вам начать использовать более современный синтаксис объединения ANSI, чтобы сделать ваши запросы более понятными:
...
FROM EVENTS
JOIN RACES ON RACES.EVENTID = EVENTS.EVENTID
JOIN PARTICIPATION ON PARTICIPATION.RACEID = RACES.RACEID
JOIN RIDERS ON RIDERS.RIDERID = PARTICIPATION.RIDERID