SELECT a.QUALITY_NAME,NVL(a.CN,0)/(SELECT SUM(NVL(a.LQ,0)-NVL(a.HO,0)) SUM_CN FROM a)
FROM
(select tb1.QUALITY_NAME,
count(*) as cn,
sum(decode(rn,1,tb1.ingot_nr,0)) as LQ,
sum(tb1.QN) as HO
from(
select saw_pos_nr ,
job_nr,INGOT_NR,
row_number() over(PARTITION by saw_pos_nr,job_nr order by 1) rn ,
decode(QUALITY_NAME,'HO',1,0) as QN,
QUALITY_NAME
from mv_seh_wafer
where time > sysdate -0.5) tb1
GROUP by tb1.QUALITY_NAME) a
括号内的都是正确的,但是加上括号外的检索就会有问题,提示找不到表a,求解。
或者有什么可以变通的地方
------解决思路----------------------
试一下,未测试
with a as (select tb1.QUALITY_NAME,
count(*) as cn,
sum(decode(rn,1,tb1.ingot_nr,0)) as LQ,
sum(tb1.QN) as HO
from(
select saw_pos_nr ,
job_nr,INGOT_NR,
row_number() over(PARTITION by saw_pos_nr,job_nr order by 1) rn ,
decode(QUALITY_NAME,'HO',1,0) as QN,
QUALITY_NAME
from mv_seh_wafer
where time > sysdate -0.5) tb1
GROUP by tb1.QUALITY_NAME)
SELECT a.QUALITY_NAME,NVL(a.CN,0)/SUM(NVL(a.LQ,0)-NVL(a.HO,0)) OVER() FROM A