【问题标题】:sql group by with left joinsql group by 左连接
【发布时间】:2011-02-07 18:00:43
【问题描述】:

fail statement:Error: ORA-00979: not a GROUP BY expression

 select org_division.name  , org_department.name , org_surveylog.division_code as divisionCode,org_surveylog.department_code as departmentCode , max(org_surveylog.actiondate) from org_surveylog 
left join org_division on (org_surveylog.division_code= org_division.division_code and org_surveylog.SURVEY_NUM= org_division.survey_num)
left join org_department on (org_surveylog.department_code = org_department.department_code and org_surveylog.SURVEY_NUM = org_department.survey_num) 
 group by org_surveylog.division_code,org_surveylog.department_code 

但下面没问题

 select org_surveylog.division_code as divisionCode,org_surveylog.department_code as departmentCode , max(org_surveylog.actiondate) from org_surveylog 
left join org_division on (org_surveylog.division_code= org_division.division_code and org_surveylog.SURVEY_NUM= org_division.survey_num)
left join org_department on (org_surveylog.department_code = org_department.department_code and org_surveylog.SURVEY_NUM = org_department.survey_num) 
 group by org_surveylog.division_code,org_surveylog.department_code 

当我需要显示 org_division.name , org_department.name 的值时,如何使用左连接分组?

【问题讨论】:

    标签: sql oracle10g group-by ora-00979


    【解决方案1】:

    您需要将 GROUP BY 更改为

     group by   org_division.name , 
                org_department.name
                org_surveylog.division_code,
                org_surveylog.department_code 
    

    来自Oracle Select Statements : Select Statement With GROUP BY Clause

    SELECT <column_name>, <aggregating_operation>
    FROM <table_name>
    GROUP BY <column_name>;
    

    您会注意到您需要在 GROUP BY 语句中包含非聚合列。

    【讨论】:

      猜你喜欢
      • 2019-01-15
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 2015-10-13
      • 1970-01-01
      相关资源
      最近更新 更多