Correllated Sub-query problem--Help!
From: Jonathan G Gennick <gennick_at_worldnet.att.net>
Date: 1997/03/03
Message-ID: <331b60e5.1528672_at_netnews.worldnet.att.net>#1/1
ORA-00904: invalid column name
Date: 1997/03/03
Message-ID: <331b60e5.1528672_at_netnews.worldnet.att.net>#1/1
I can successfully execute this query:
SQL> select agr_agree_nbr
2 from agr_agreement aa
3 where nvl(agr_inv_diff_amt,0) <= ( 4 select sum(osp_type_amount) as payment_amount 5 from osp_oper_sub_payment 6 where osp_pay_type_cd = 2 7 and osp_pay_type_num = aa.agr_agree_nbr 8 );
AGR_AGREE_NBR
51
However, I can NOT successfully execute this:
SQL> select agr_agree_nbr
2 from agr_agreement aa
3 where nvl(agr_inv_diff_amt,0) <= (
4 select sum(payment_amount) from
5 (
6 select sum(osp_type_amount) as payment_amount
7 from osp_oper_sub_payment
8 where osp_pay_type_cd = 2
9 and osp_pay_type_num = aa.agr_agree_nbr
10 )
11 );
and osp_pay_type_num = aa.agr_agree_nbr
*
ERROR at line 9:
ORA-00904: invalid column name
The only difference between the two is that I have nested one more subquery level. What's going on? Why won't this work? I need to be able to select the sum of a UNION, i.e.
and nvl(agr_inv_diff_amt,0) <= (
select nvl(sum (payment_amount),0)
from (
select sum(osp_type_amount) as payment_amount
from osp_oper_sub_payment
where osp_pay_type_cd = &shortage
and osp_pay_type_num = agr_agree_nbr
union
select sum(rep_total_amount) as payment_amount
from rep_repayment_agree
where rep_pay_type_cd = &shortage
and rep_pay_type_num = agr_agree_nbr
)
) select sum(payment_amount)
Any help would be appreciated.
thanks,
Jonathan Received on Mon Mar 03 1997 - 00:00:00 CET
