小编典典

Oracle ORA-00979-“使用GROUP BY表达式”。

sql

有人可以帮我这个特定的查询吗?尝试运行此命令时,我遇到了ORA-00979:

select   t0.title, count (1) as count0, (select   count (1)
      from contract c1, se se1
      where c1.c_id = se1.c_id
      and se1.svc_id = 3
      and se1.deleted = 0
      and c1.deleted = 0
      and c1.c_date between to_date ('07.10.2000', 'dd.mm.yyyy') 
                        and to_date ('22.11.2010', 'dd.mm.yyyy')
      and c1.company = 0
      and c1.tdata.tariff = c0.tdata.tariff
    ) as count1
  from contract c0, se se0, tariff t0
  where c0.c_id = se0.c_id
  and se0.svc_id = 3
  and se0.deleted = 0
  and c0.deleted = 0
  and c0.c_date between to_date ('21.11.2000', 'dd.mm.yyyy') 
                and to_date ('06.01.2011', 'dd.mm.yyyy')
  and c0.company = 0
  and t0.tariff_id = c0.tdata.tariff
  group by t0.title

阅读 236

收藏
2021-05-05

共1个答案

小编典典

问题是您的select count(1)零件的子查询。仅仅因为其中包含了一个计数,实际上并不能使它成为一个汇总。它仍然是一个子查询,将应用于每行,并且您可以看到它使用的值c0.tdata.tariff不属于该组。

2021-05-05