Неверный идентификатор SQL ORA-00904 - PullRequest
0 голосов
/ 05 декабря 2018

Здравствуйте. Я пытаюсь выполнить запрос, созданный мной для подсчета идентификатора страны, однако получаю ошибку ORA-00904 с моим OEHR_LOCATIONS.REGION_ID в строке 4 группы BY.

SELECT OEHR_COUNTRIES.COUNTRY_ID, REGION_ID, COUNT (OEHR_COUNTRIES.COUNTRY_ID)
FROM OEHR_COUNTRIES, OEHR_LOCATIONS
WHERE OEHR_COUNTRIES.COUNTRY_ID = OEHR_LOCATIONS.COUNTRY_ID
GROUP BY OEHR_COUNTRIES.COUNTRY_ID, OEHR_LOCATIONS.REGION_ID

1 Ответ

0 голосов
/ 05 декабря 2018

Я не могу говорить о том, что может быть причиной вашей ошибки, но я бы посоветовал вам написать запрос, подобный этому:

SELECT c.COUNTRY_ID, l.REGION_ID, COUNT(*)
FROM OEHR_COUNTRIES c JOIN
     OEHR_LOCATIONS l
     ON c.COUNTRY_ID = l.COUNTRY_ID
GROUP BY c.COUNTRY_ID, l.REGION_ID;

Примечания:

  • Никогда не используйте запятые в предложении FROM. Всегда используйте правильный, явный, стандартный JOIN синтаксис.
  • Псевдонимы таблицы облегчают написание и чтение таблицы.
  • Существуетне нужно считать столбец, который никогда не будет NULL.Это то, что COUNT(*) делает.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...