【问题标题】:SQL Developer - SQL Error: ORA-00909: invalid number of argumentsSQL Developer - SQL 错误:ORA-00909:参数数量无效
【发布时间】:2015-04-23 22:17:27
【问题描述】:

在 HR 模式中,我想按不同国家/地区的部门列出所有薪水

SELECT E.FIRST_NAME , S.COUNTRY_NAME, S.DEPARTMENT_NAME, S.AVG_SALARY, E.SALARY 
FROM EMPLOYEES E JOIN (SELECT COUNTRY_NAME, DEPARTMENT_NAME, ROUND(AVG(SALARY,0) AS "AVG_SALARY", DEPARTMENT_ID
                       FROM (SELECT SALARY, COUNTRY_NAME, DEPARTMENT_NAME, DEPARTMENT_ID
                             FROM EMPLOYEES JOIN DEPARTMENTS USING (DEPARTMENT_ID)
                             JOIN LOCATIONS USING (LOCATION_ID)
                             JOIN COUNTRIES USING (COUNTRY_ID)
                             )
                       GROUP BY COUNTRY_NAME, DEPARTMENT_NAME, DEPARTMENT_ID
                       )   S ON (E.DEPARTMENT_ID=S.DEPARTMENT_ID)
WHERE E.SALARY< S.AVG_SALARY AND E.DEPARTMENT_ID = S.DEPARTMENT_ID
GROUP BY COUNTRY_NAME, DEPARTMENT_NAME, AVG_SALARY, FIRST_NAME, SALARY
ORDER BY COUNTRY_NAME;

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    确保你的括号匹配。

    ROUND(AVG(SALARY,0)
    

    应该是:

    ROUND(AVG(SALARY),0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2018-12-04
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      相关资源
      最近更新 更多