Sql ORA-00907:代码底部缺少右括号-为什么?语法很好

Sql ORA-00907:代码底部缺少右括号-为什么?语法很好,sql,oracle,select,Sql,Oracle,Select,您必须首先在最内部的查询中执行order by,然后在内部查询中选择第一行,然后在外部查询中获取该racun。像这样: select racuni.str_id from racuni where racuni.str_id in (select racuni.str_id from racuni join stavke

您必须首先在最内部的查询中执行order by,然后在内部查询中选择第一行,然后在外部查询中获取该racun。像这样:

select racuni.str_id
  from racuni
  where racuni.str_id in
                   (select racuni.str_id
                      from racuni 
                           join stavke
                           on (racuni.racuni_id = stavke.rcn_id)
                     group by racuni.str_id
                     order by sum(stavke.iznos_kamate) desc
                    )
    and rownum = 1;

子查询中的group by+order by是无用的。嗯,但我不知道如何获得该select的最高和…子查询中的一个in返回一个纯集合。集合没有顺序。你的意图不是很清楚;你只想找到stavke.iznos_kamate的最大值的str_id?在这种情况下,您可能需要在子查询中首先使用以下内容:使用maxsumstavke.iznos_kamate-但问题再次出现,因为它嵌套得太深了Hi friend,如果我尝试使用以下内容:从select soa.rcn_id,sumsoa.iznos_kamate中选择rcn_id,var_for_sum。。。。。我可以使用一些代码rcn\u id,但我可以使用sum吗??
select racuni.*
from   racuni
where  racuni.str_id in
             (select str_id
              from
               (select racuni.str_id
                  from racuni 
                       join stavke
                       on (racuni.racuni_id = stavke.rcn_id)
                 group by racuni.str_id
                 order by sum(stavke.iznos_kamate) desc )
               where rownum = 1 );