Here is a brief description of the tables I'm working with in Oracle 10g:
Notes: Table : jnldetail : Single row with data as shown. There are multiple package id's attached to the same bill_ref_no for an account. Therefore, I'm trying to update "jnldetail " with the multiple package_id's.
Relation between index_bill_ref and bill_ref_no : 1 - 1 Relation between account_no and ( index_bill_ref and bill_ref_no ) : 1 - Many
Table : jnldetail : account_no bill_ref_no amount
8594822 74282843 822
I'm adding another column package_id with the following command:
alter table jnldetail add package_id number(10)
table: bill_invoice:
account_no bill_ref_no index_bill_ref
8594822 74282843 763653495
table: bill_invoice_detail:
index_bill_ref package_id component_id
763653495 20000077 20000177
763653495 20000250 20000528
763653495 13000019 13000137
Expected Result: Table : jnldetail :
account_no bill_ref_no amount package_id
8594822 74282843 822 20000077
8594822 74282843 822 20000250
8594822 74282843 822 13000019
My Query is:
UPDATE jnldetail tp
SET tp.package_id = (select t1.package_id from bill_invoice_detail t1, bill_invoice t2
where t1.index_bill_ref = t2.index_bill_ref and
t2.account_no = tp.account_no)
The error message is : ora 01427 : single row subquery returns more than one row
Any inputs will be helpful.
Thanks!