您好,我正在尝试创建一个要计算国家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
答案 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(*)
就是这样做的。