繁体   English   中英

为什么此语句在 ORACLE 中不起作用?

[英]Why does this statement won't work in ORACLE?

我试图在 ORACLE 中执行的语句:

update c1 
set c1.valor = x.tot_cap 
from OBM2019.compproj c1 
inner join (
    select chave_projecto, ascendente a, sum(valor) tot_cap 
    from OBM2019.compproj 
    where chave_projecto = '1' 
    group by chave_projecto,ascendente
) x 
on c1.chave_projecto = x.chave_projecto 
where c1.chave_projecto = '1' 
and c1.numero = x.a;

在第 35 列“SQL 命令未正确结束”上给出错误。 谢谢。

试试这个:

update (
   select c1.valor, x.tot_cap 
   from OBM2019.compproj c1 
      inner join (
        select chave_projecto, ascendente a, sum(valor) tot_cap 
        from OBM2019.compproj 
        where chave_projecto = '1' 
        group by chave_projecto,ascendente
      ) x on c1.chave_projecto = x.chave_projecto 
   where c1.chave_projecto = '1' and c1.numero = x.a
   )
SET valor = tot_cap;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM