Sql Oracle关于语法错误ORA-00907的帮助
当我试图运行与下面类似的代码时,我得到了ORA-00907:missing right paranthesis错误。看来我已经正确地关闭了所有的妄想症 谁能帮我解决这个问题。谢谢Sql Oracle关于语法错误ORA-00907的帮助,sql,oracle,Sql,Oracle,当我试图运行与下面类似的代码时,我得到了ORA-00907:missing right paranthesis错误。看来我已经正确地关闭了所有的妄想症 谁能帮我解决这个问题。谢谢 with cte_tab1 as ( select tab1.*, case when count(distinct Tab1.col_type) over (partition by Tab1.co_new) >1 then T_CDR.sales
with cte_tab1 as (
select
tab1.*,
case
when count(distinct Tab1.col_type) over (partition by Tab1.co_new) >1
then T_CDR.sales - nvl(T_CDR.profit,0) - nvl(T_CDR.proinf,0)
else 0
end as rsec_col
from tab1
),
CV as (
select
case
when tab1.pro_cat in ('RP', 'DE', 'OT', 'CD')
then 'TC'
when tab1.mew = 'TD' and tab1.d_type <> 'BS'
then 'PREM'
else 'TC'
end as bsspl_new,
sum(nvl(tab1.sales,0)) as gross_sal,
sum(tab1.rsec_col) as seccol
from cte_tab1 as tab1
group by
case
when tab1.pro_cat in ('RP', 'DE', 'OT', 'CD')
then 'TC'
when tab1.mew = 'TD' and tab1.d_type <> 'BS'
then 'PREM'
else 'TC'
end
)
select cv.bsspl_new,
cv.gross_sal as gsl,
cv.seccol as ssl
from cv
从cte_表1作为表1
Oracle中的表别名不支持AS关键字。删除它,您将不会得到错误
将其修改为:
from cte_tab1 tab1
@SAIar请将其标记为已回答,它也会帮助他人!