无效的标识符SQL ORA-00904

时间:2018-12-05 03:22:35

标签: sql oracle

您好,我正在尝试创建一个要计算国家ID的查询,但是我在Group BY第4行上收到OEHR_LOCATIONS.REGION_ID的ORA-00904错误。

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 :(得分:0)

我无法代表可能导致您错误的原因,但我鼓励您这样编写查询:

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(*)就是这样做的。