【问题标题】:ERROR:ORA-00979: not a GROUP BY expression错误:ORA-00979:不是 GROUP BY 表达式
【发布时间】:2020-04-20 18:23:10
【问题描述】:
select frstname,addr  
from medication,patient  
where medication.patientnum=patient.ptnum  
group by frstname,addr  
having finish_date='29-01-20';

我该如何解决这个错误?

【问题讨论】:

  • 出现这样的错误,我怀疑这是正确的标记(MySQL)
  • 您还应该查看 JOIN 语法,而不是使用 from medication,patient

标签: sql database oracle join group-by


【解决方案1】:

目前还不清楚您查询的目的是什么。

一个直接的解决方法是将条件从having 子句移动到where 子句,因为它使用的列不是group by 子句的一部分 - 并使用正确的连接语法和日期文字:

select frstname, addr  
from medication m
inner join patient p on m.patientnum = p.ptnum  
where finish_date = date '2020-01-29'
group by frstname, addr  

我还强烈建议使用我添加到查询中的表别名(m 代表 medicationp 代表 patient)为每列添加它所属的表作为前缀。

这可能会,也可能不会,做你真正想要的。如果不是,那么您可能应该提出一个新问题,提供示例数据、预期结果以及您想要完成的任务的解释。

【讨论】:

    猜你喜欢
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2013-03-29
    • 2011-04-24
    • 2013-03-19
    相关资源
    最近更新 更多